def initUIFrame(self): self.frame0.columnconfigure(0, pad=5, weight=1) self.frame0.columnconfigure(1, pad=5, weight=1) self.frame0.columnconfigure(2, pad=5, weight=1) self.frame0.columnconfigure(3, pad=5, weight=1) self.frame0.columnconfigure(4, pad=5, weight=1) self.frame0.columnconfigure(5, pad=5, weight=1) self.frame0.rowconfigure(0, pad=37) self.frame0.rowconfigure(1, pad=7) self.frame0.rowconfigure(2, pad=7, weight=1) titleImg = ImageTk.PhotoImage(file="./imgs/title.png") catImg = ImageTk.PhotoImage(file="./imgs/cat.png") preImg = ImageTk.PhotoImage(file="./imgs/pre.png") chartImg = ImageTk.PhotoImage(file="./imgs/chart.png") bestImg = ImageTk.PhotoImage(file="./imgs/bestPoint.png") rareImg = ImageTk.PhotoImage(file="./imgs/rare.png") lbl = Label(self.frame0, image=titleImg) lbl.grid(row=0, column=1,columnspan=5,sticky=S+W) lbl.image = titleImg lbl = Label(self.frame0, image=rareImg) lbl.grid(row=3, column=1,columnspan=5,sticky=S) lbl.image = rareImg preButton = Button(self.frame0, command=self.onNewPre) preButton.config(image=preImg) preButton.image = preImg preButton.grid(row=1, column=2) cateButton = Button(self.frame0, command=self.onNewCata) cateButton.config(image=catImg) cateButton.image = catImg cateButton.grid(row=1, column=1) chartButton = Button(self.frame0, command=self.onNewGraph) chartButton.config(image=chartImg) chartButton.image = chartImg chartButton.grid(row=1, column=3) chartButton = Button(self.frame0, command=self.onNewBest) chartButton.config(image=bestImg) chartButton.image = bestImg chartButton.grid(row=1, column=4) lbl = Label(self.frame0, text="新建催化剂") lbl.grid(row=2, column=1, sticky=N) lbl = Label(self.frame0, text="精确预测") lbl.grid(row=2, column=2, sticky=N) lbl = Label(self.frame0, text="趋势预测") lbl.grid(row=2, column=3, sticky=N) lbl = Label(self.frame0, text="最优条件预测") lbl.grid(row=2, column=4, sticky=N)
def addButtonI(self, dim=(0, 0, 206, 109), x=0, y=0, command=0): try: crop = self.__texture[0].crop(dim) render = ImageTk.PhotoImage(crop) nbutton = Button(self, image=render, bg="#4a4a4a", borderwidth=0, activebackground="#4d86a1") nbutton.image = render nbutton.place(x=x, y=y) self.__list_button.append(nbutton) if command == 1: nbutton.configure(command=self.showOne) elif command == 2: nbutton.configure(command=self.showAll) elif command == 3: pass elif command == 4: nbutton.configure(command=self.master.destroy) return nbutton except Exception as e: self.Error("Error al cargar Texturas") return -1
def initUI(self): self.parent.title("Toolbar") menubar = Menu(self.parent) self.fileMenu = Menu(self.parent, tearoff=0) self.fileMenu.add_command(label="Exit", command=self.onExit) menubar.add_cascade(label="File", menu=self.fileMenu) toolbar = Frame(self.parent, bd=1, relief=RAISED) self.img = Image.open(IMG_DIR + "exit.png") cropped = self.img.resize((25, 25), Image.ANTIALIAS) eimg = ImageTk.PhotoImage(cropped) exitButton = Button(toolbar, image=eimg, relief=FLAT, command=self.quit) exitButton.image = eimg exitButton.pack(side=LEFT, padx=2, pady=2) toolbar.pack(side=TOP, fill=X) self.parent.config(menu=menubar) self.pack()
def initToolbar(self): toolbar = Frame(self.parent, relief=FLAT, background="MediumTurquoise") img = Image.open("Graphics/Icons/saveIcon.png") saveImg1 = ImageTk.PhotoImage(img) self.saveLevelButton = Button(toolbar, image=saveImg1, relief=FLAT, background="Turquoise", activebackground="yellow", width=BUTTON_X, height=BUTTON_Y, command=self.save) self.saveLevelButton.image = saveImg1 self.saveLevelButton.grid(row=0, column=0) img = Image.open("Graphics/Icons/loadIcon.png") loadImg = ImageTk.PhotoImage(img) self.loadButton = Button(toolbar, image=loadImg, relief=FLAT, background="Turquoise", activebackground="yellow", width=BUTTON_X, height=BUTTON_Y, command=self.load) self.loadButton.image = loadImg self.loadButton.grid(row=0, column=1) img = Image.open("Graphics/Icons/checkIcon.png") checkImg = ImageTk.PhotoImage(img) self.checkButton = Button(toolbar, image=checkImg, relief=FLAT, background="Turquoise", activebackground="yellow", width=BUTTON_X, height=BUTTON_Y, command=self.checkCode) self.checkButton.image = checkImg self.checkButton.grid(row=0, column=2) img = Image.open("Graphics/Icons/runIcon.png") runImg = ImageTk.PhotoImage(img) self.runButton = Button(toolbar, image=runImg, relief=FLAT, background="Turquoise", state=DISABLED, activebackground="yellow", width=BUTTON_X, height=BUTTON_Y, command=self.run) self.runButton.image = runImg self.runButton.grid(row=0, column=3) img = Image.open("Graphics/Icons/prevLevelIcon.png") prevLevelImg = ImageTk.PhotoImage(img) self.prevLevelButton = Button(toolbar, image=prevLevelImg, relief=FLAT, background="Turquoise", state=DISABLED, activebackground="yellow", width=BUTTON_X, height=BUTTON_Y, command=self.prevLevel) self.prevLevelButton.image = prevLevelImg self.prevLevelButton.grid(row=0, column=4) img = Image.open("Graphics/Icons/nextLevelIcon.png") nextLevelImg = ImageTk.PhotoImage(img) self.nextLevelButton = Button(toolbar, image=nextLevelImg, relief=FLAT, background="Turquoise", state=DISABLED, activebackground="yellow", width=BUTTON_X, height=BUTTON_Y, command=self.nextLevel) self.nextLevelButton.image = nextLevelImg self.nextLevelButton.grid(row=0, column=5) img = Image.open("Graphics/Icons/quitIcon.png") quitImg = ImageTk.PhotoImage(img) quitButton = Button(toolbar, image=quitImg, relief=FLAT, background="Turquoise", activebackground="yellow", width=BUTTON_X, height=BUTTON_Y, command=self.exit) quitButton.image = quitImg quitButton.grid(row=0, column=7, sticky=E) toolbar.pack(side=TOP, fill=X)
def connect_events(self): toolbar_icons = [ ("document-new", self.new_file), ("document-open", self.open_file), ("document-save", self.save_file), ("separator", None), ("edit-undo", self.edit_undo), ("edit-redo", self.edit_redo), ("separator", None), ("edit-cut", self.edit_cut), ("edit-copy", self.edit_copy), ("edit-paste", self.edit_paste), ("separator", None), #("edit-find", self.new_file), #("edit-find-replace", self.new_file), #("separator", None), ("applications-electronics", self.__show_board_config__), ("system-run", self.pinguino_compile), ("emblem-downloads", self.pinguino_upload), ] for icon, function in toolbar_icons: if icon == "separator": frame = Frame(self.toolBar, width=10) frame.pack(side=LEFT, fill=Y, padx=2, pady=2) else: icon = os.path.join("tkgui", "resources", "themes", "pinguino11", "icons", "24", icon + ".png") #eimg = ImageTk.PhotoImage(Image.open(icon)) eimg = ImageTk.PhotoImage(file=icon) button = Button(self.toolBar, image=eimg, relief=FLAT, command=function, borderwidth=0, highlightthickness=0) button.image = eimg button.pack(side=LEFT, padx=2, pady=4)
def connect_events(self): toolbar_icons = [("document-new", self.new_file), ("document-open", self.open_file), ("document-save", self.save_file), ("separator", None), ("edit-undo", self.edit_undo), ("edit-redo", self.edit_redo), ("separator", None), ("edit-cut", self.edit_cut), ("edit-copy", self.edit_copy), ("edit-paste", self.edit_paste), ("separator", None), #("edit-find", self.new_file), #("edit-find-replace", self.new_file), #("separator", None), ("applications-electronics", self.__show_board_config__), ("system-run", self.pinguino_compile), ("emblem-downloads", self.pinguino_upload), ] for icon, function in toolbar_icons: if icon == "separator": frame = Frame(self.toolBar, width=10) frame.pack(side=LEFT, fill=Y, padx=2, pady=2) else: icon = os.path.join("tkgui", "resources", "themes", "pinguino11", "icons", "24", icon+".png") #eimg = ImageTk.PhotoImage(Image.open(icon)) eimg = ImageTk.PhotoImage(file=icon) button = Button(self.toolBar, image=eimg, relief=FLAT, command=function, borderwidth=0, highlightthickness=0) button.image = eimg button.pack(side=LEFT, padx=2, pady=4)
def initGameStateBtns(root, canvas): # Inits buttons to do with game state buttonImg = canvas.data.imageDict["buttonImage"] startGameBtn = Button(image=buttonImg,command =lambda: redrawGame(canvas)) startGameBtn.image = buttonImg # PLAY BUTTON canvas.data.startGameBtn = startGameBtn restartBtn = Button(text="MAIN MENU",command=lambda:comboFunc(root,canvas)) restartBtn.configure(width = 12) canvas.data.restartBtn = restartBtn # RESTART Style().configure('red.TButton', foreground='red') quitBtn = Button(text = "QUIT", style='red.TButton', command = quit) quitBtn.configure(width = 5) canvas.data.quitBtn = quitBtn # QUIT pauseBtn = Button(text = "PAUSE", style='red.TButton', command = lambda: pauseResumeTrigger(canvas)) pauseBtn.configure(width = 12) canvas.data.pauseBtn = pauseBtn # PAUSE resumeBtn = Button(text = "RESUME", style='red.TButton', command=lambda: pauseResumeTrigger(canvas)) resumeBtn.configure(width = 30) canvas.data.resumeBtn = resumeBtn # RESUME
def initUI(self): self.parent.title("Toolbar") menubar = Menu(self.parent) self.fileMenu = Menu(self.parent, tearoff=0) self.fileMenu.add_command(label="Exit", command=self.onExit) menubar.add_cascade(label="File", menu=self.fileMenu) toolbar = Frame(self.parent, bd=1, relief=RAISED) self.img = Image.open("./img/exit.png") eimg = ImageTk.PhotoImage(self.img) exitButton = Button(toolbar, image=eimg, relief=FLAT, command=self.quit) exitButton.image = eimg exitButton.pack(side=LEFT, padx=2, pady=2) toolbar.pack(side=TOP, fill=X) self.parent.config(menu=menubar) self.pack()
def showOne(self): Ventana2 = Toplevel(self.master) try: Ventana2.configure(height=210, width=428, bg="#FFFFFF") Ventana2.resizable(1, 1) Ventana2.title("Buscar") frameAux = Frame(Ventana2, height=210, width=428, bg="#4a4a4a") frameAux.place(x=0, y=0) if sys.platform.startswith('win32'): r = "image\\BuscarBosch.png" ruta = "image\\Back.png" ruta2 = "image\\SearchOne.png" elif sys.platform.startswith('linux') or sys.platform.startswith( 'darwin'): r = "image/BuscarBosch.png" ruta = "image/Back.png" ruta2 = "image/SearchOne.png" l = Image.open(r) re = ImageTk.PhotoImage(l) labelFont = Label(frameAux, image=re, borderwidth=0) labelFont.image = re labelFont.place(x=0, y=0) labelText1 = Label(frameAux, height=1, width=24, bg="#4a4a4a", text="Serie", fg="#FFFFFF", anchor=W) labelText1.config(font=("Tahoma", 11)) labelText1.place(x=15, y=25) labelText11 = Label(frameAux, height=1, width=24, bg="#4a4a4a", fg="#FFFFFF", anchor=W) labelText11.config(font=("Tahoma", 11)) labelText11.place(x=210, y=25) labelText2 = Label(frameAux, height=1, width=24, bg="#696969", text="Gravedad", fg="#FFFFFF", anchor=W) labelText2.config(font=("Tahoma", 11)) labelText2.place(x=15, y=50) labelText22 = Label(frameAux, height=1, width=24, bg="#696969", fg="#FFFFFF", anchor=W) labelText22.config(font=("Tahoma", 11)) labelText22.place(x=210, y=50) labelText3 = Label(frameAux, height=1, width=24, bg="#4a4a4a", text="Fecha", fg="#FFFFFF", anchor=W) labelText3.config(font=("Tahoma", 11)) labelText3.place(x=15, y=75) labelText33 = Label(frameAux, height=1, width=24, bg="#4a4a4a", fg="#FFFFFF", anchor=W) labelText33.config(font=("Tahoma", 11)) labelText33.place(x=210, y=75) labell = Label(frameAux, height=1, width=25, bg="#4a4a4a", text="Ingresa el numero de serie", fg="#FFFFFF", anchor=W) #labell.place(x=15,y=135) labell.config(font=("Tahoma", 11)) listbox3 = Entry(frameAux, width=24, justify=RIGHT, bg="#696969", fg="#FFFFFF", borderwidth=0) listbox3.place(x=210, y=125) listbox3.config(font=("Tahoma", 11)) load = Image.open(ruta) render = ImageTk.PhotoImage(load) backbutton = Button( frameAux, image=render, bg="#8d8e8c", borderwidth=0, activebackground="#696969", command=lambda: self.Switch(self.master, Ventana2)) backbutton.image = render backbutton.place(x=245, y=155) load2 = Image.open(ruta2) render2 = ImageTk.PhotoImage(load2) searchButton = Button( frameAux, image=render2, bg="#8d8e8c", borderwidth=0, activebackground="#c4c4c4", command=lambda: self.load1(listbox3, labelText11, labelText22, labelText33)) searchButton.image = render2 searchButton.place(x=324, y=155) except Exception as e: print(e) Ventana2.destroy() self.Error("Se produjo un error al cargar")
def showAll(self): Ventana2 = Toplevel(self.master) try: Poss = [0, 50] maxi = self.buscMax() if int(maxi) < Poss[1]: Poss[1] = int(maxi) Ventana2.configure(height=45, width=25, bg="#4a4a4a") Ventana2.resizable(0, 0) frameAux = Frame(Ventana2, bg="#4a4a4a", borderwidth=0) frameAux.pack(fill=BOTH) scrolly = Scrollbar(frameAux, orient=VERTICAL) self.listbox1 = Listbox(frameAux, width=90, background="#4a4a4a", borderwidth=0, fg="#FFFFFF", highlightcolor="#4d86a1", highlightbackground="#4d86a1", yscrollcommand=scrolly.set) self.listbox1.config(font=("", 11)) self.listbox1.pack(side=LEFT) scrolly.pack(side=RIGHT, fill=Y) scrolly.configure(command=self.yview) self.load50(Poss) if sys.platform.startswith('win32'): ruta = "image\\GoBack.png" ruta2 = "image\\GoOn.png" elif sys.platform.startswith('linux') or sys.platform.startswith( 'darwin'): ruta = "image/GoBack.png" ruta2 = "image/GoOn.png" load = Image.open(ruta) render = ImageTk.PhotoImage(load) load2 = Image.open(ruta2) render2 = ImageTk.PhotoImage(load2) backbutton1 = Button(Ventana2, image=render, bg="#4a4a4a", borderwidth=0, activebackground="#4d86a1", highlightcolor="#4d86a1", highlightbackground="#4a4a4a", command=lambda: self.load50(Poss, "-")) backbutton1.image = render backbutton1.pack(side=LEFT) backbutton2 = Button(Ventana2, image=render2, bg="#4a4a4a", borderwidth=0, activebackground="#4d86a1", highlightcolor="#4d86a1", highlightbackground="#4a4a4a", command=lambda: self.load50(Poss, "+")) backbutton2.image = render2 backbutton2.pack(side=LEFT) backbutton3 = Button( Ventana2, height=2, width=10, text="Back", command=lambda: self.Switch(self.master, Ventana2)) backbutton3.pack(side=RIGHT) except Exception as e: print(e) Ventana2.destroy() self.Error("Se produjo un error al cargar")
def initTextBoxes(self): panedWindow = PanedWindow(self.parent, width=DIM_X, height=(DIM_Y - TOOLBAR_Y)/2+5, relief=FLAT) # left-hand side: text box for the user to type into, plus a scrollbar leftPanel = Frame(panedWindow) scrollbar = Scrollbar(leftPanel, orient=VERTICAL) self.textEditor = Text(leftPanel, background="PaleTurquoise", width=MAX_CHARS, font=self.customFont2, wrap=WORD, height=(DIM_Y - TOOLBAR_Y)/2, yscrollcommand=scrollbar.set, selectbackground="Turquoise") self.textEditor.bind("<<Modified>>", self.textEditorModified) self.resettingModifiedFlag = False # add a scrollbar to the left-hand box scrollbar.config(command=self.textEditor.yview) scrollbar.pack(side=RIGHT, fill=Y) self.textEditor.pack(side=LEFT, fill=BOTH, expand=1) panedWindow.add(leftPanel) # right hand side: help box, plus buttons to see different help screens rightPanel = Frame(panedWindow) scrollbar1 = Scrollbar(rightPanel, orient=VERTICAL) boxPanel = Frame(rightPanel, width=DIM_Y/2, height=DIM_X - 2*TOOLBAR_Y) self.helpBox = Text(boxPanel, background="LemonChiffon", font=self.customFont2, selectbackground="Gold", wrap=WORD, height=15, yscrollcommand=scrollbar1.set) # add a scrollbar to the right-hand box scrollbar1.config(command=self.helpBox.yview) scrollbar1.pack(side=RIGHT, fill=Y) self.helpBox.pack(expand=1) boxPanel.pack() # add buttons to help box helpboxWidth = self.helpBox.winfo_reqwidth() buttonBar = Frame(rightPanel, relief=FLAT, background="LemonChiffon", height=BUTTON_Y, width=helpboxWidth) img = Image.open("Graphics/backArrow.png") self.backImg = ImageTk.PhotoImage(img) prevButton = Button(buttonBar, relief=RAISED, background="LemonChiffon", image=self.backImg, borderwidth=1, activebackground="Turquoise", height=BUTTON_Y, command=self.prevScreen) prevButton.image = self.backImg img = Image.open("Graphics/yourCode.png") self.codeImg = ImageTk.PhotoImage(img) yourCodeButton = Button(buttonBar, relief=RAISED, background="LemonChiffon", image=self.codeImg, borderwidth=1, activebackground="Turquoise", height=BUTTON_Y, command=self.lastScreen) yourCodeButton.image = self.codeImg img = Image.open("Graphics/nextArrow.png") self.nextImg = ImageTk.PhotoImage(img) nextButton = Button(buttonBar, relief=RAISED, background="LemonChiffon", image=self.nextImg, borderwidth=1, activebackground="Turquoise", height=BUTTON_Y, command=self.nextScreen) nextButton.image = self.nextImg prevButton.pack(side=LEFT) nextButton.pack(side=RIGHT) yourCodeButton.pack(padx=103) buttonBar.pack(fill=X) # set up tags to highlight errors in the text editor and do syntax highlighting self.textEditor.tag_config("error", background="OrangeRed", foreground="White") self.helpBox.tag_config("bold", font=self.boldFont) self.helpBox.tag_config("ital", font=self.italFont) self.helpBox.tag_config("underline", underline=1) self.helpBox.tag_config("code", font=self.boldFont, foreground="DarkViolet") panedWindow.add(rightPanel) panedWindow.pack(fill=BOTH, expand=1)
def __init__(self, master=None, main=None): Frame.__init__(self, master) self.parent = master self.main = main self.parent.geometry("640x150") self.parent.title(os.getenv("NAME") + " - Paths") self.master.configure(padx=10, pady=10) width = 14 #icon icon = os.path.join("tkgui", "resources", "icons", "clear.png") image_clear = ImageTk.PhotoImage(file=icon) # lb8 = LabelFrame(self.parent, text="8-bit") # frame8 = Frame(self.parent) # self.parent.pack(fill=X, expand=True, side=TOP) frame8c = Frame(self.parent) frame_text1 = Frame(frame8c) frame_text1.pack(side=LEFT) # Label(frame_text1, text="SDCC compiler:", width=width, anchor="w").pack(side=LEFT) # self.label_sdcc_bin = Entry(frame8c) # self.label_sdcc_bin.pack(side=LEFT, fill=X, expand=True) frame8c.pack(fill=X, expand=True, side=TOP) # button = Button(frame8c, image=image_clear, relief=FLAT, command=lambda :self.reset_value("sdcc_bin"), borderwidth=0, highlightthickness=0) # button.image = image_clear # button.pack(side=LEFT, padx=2, pady=4) # Button(frame8c, text="Change...", command=self.set_dir_dialog(self.label_sdcc_bin)).pack(side=LEFT) frame8l = Frame(self.parent) frame_text2 = Frame(frame8l) frame_text2.pack(side=LEFT) Label(frame_text2, text="8-bit libraries:", width=width, anchor="w").pack(side=LEFT) self.label_pinguino_8_libs = Entry(frame8l) self.label_pinguino_8_libs.pack(side=LEFT, fill=X, expand=True) button = Button(frame8l, image=image_clear, relief=FLAT, command=lambda: self.reset_value("pinguino_8_libs"), borderwidth=0, highlightthickness=0) button.image = image_clear button.pack(side=LEFT, padx=2, pady=4) Button(frame8l, text="Change...", command=self.set_dir_dialog( self.label_pinguino_8_libs)).pack(side=LEFT) frame8l.pack(fill=X, expand=True, side=TOP) # lb32 = LabelFrame(self.parent, text="32-bit") # frame32 = Frame(lb32) frame32c = Frame(self.parent) frame_text3 = Frame(frame32c) frame_text3.pack(side=LEFT) # Label(frame_text3, text="GCC compiler:", width=width, anchor="w").pack(side=LEFT) # self.label_gcc_bin = Entry(frame32c) # self.label_gcc_bin.pack(side=LEFT, fill=X, expand=True) # button = Button(frame32c, image=image_clear, relief=FLAT, command=lambda :self.reset_value("gcc_bin"), borderwidth=0, highlightthickness=0) # button.image = image_clear # button.pack(side=LEFT, padx=2, pady=4) # Button(frame32c, text="Change...", command=self.set_dir_dialog(self.label_gcc_bin)).pack(side=LEFT) frame32c.pack(fill=X, expand=True, side=TOP) frame32l = Frame(self.parent) frame_text4 = Frame(frame32l) frame_text4.pack(side=LEFT) Label(frame_text4, text="32-bit libraries:", width=width, anchor="w").pack(side=LEFT) self.label_pinguino_32_libs = Entry(frame32l) self.label_pinguino_32_libs.pack(side=LEFT, fill=X, expand=True) button = Button(frame32l, image=image_clear, relief=FLAT, command=lambda: self.reset_value("pinguino_32_libs"), borderwidth=0, highlightthickness=0) button.image = image_clear button.pack(side=LEFT, padx=2, pady=4) Button(frame32l, text="Change...", command=self.set_dir_dialog( self.label_pinguino_32_libs)).pack(side=LEFT) frame32l.pack(fill=X, expand=True, side=TOP) # self.parent.pack(fill=X, expand=True, side=TOP) # lb8.pack(fill=X, expand=True, side=TOP, padx=10, pady=10) # lb32.pack(fill=X, expand=True, side=TOP, padx=10, pady=10) Label( self.master, text= "Pinguino IDE requieres a restart to reinitialize its prefertences.", anchor="w").pack(side=LEFT) Button(self.master, text="Close", command=self.quit).pack(side=RIGHT) self.dialog_dirs = ( (self.label_pinguino_8_libs, "PINGUINO_8_LIBS"), (self.label_pinguino_32_libs, "PINGUINO_32_LIBS"), ) default_paths = { "PINGUINO_8_LIBS": self.main.configIDE.get_path("pinguino_8_libs"), "PINGUINO_32_LIBS": self.main.configIDE.get_path("pinguino_32_libs"), } for lineEdit, keyWord in self.dialog_dirs: lineEdit.delete(0, END) lineEdit.insert( INSERT, self.main.configIDE.config("Paths", keyWord, default_paths[keyWord]))
def __init__(self, spectrometer): self.spectrometer = spectrometer #Define properties of graph self.x_min_range = 430 self.x_max_range = 650 self.box_width = self.spectrometer.camera.res_x - 100 self.box_height = 5 self.box_x = 50 self.box_y = self.spectrometer.camera.res_y/2 - self.box_height/2 Tkinter.Tk.__init__(self) Tkinter.Tk.wm_title(self, "Heriot-Watt University Raspberry Pi Spectrometer") #Tkinter.resizable(0,0) logo = Tkinter.PhotoImage(file = "img/logo/favicon32.png") up = Tkinter.PhotoImage(file= "img/up.png") down = Tkinter.PhotoImage(file = "img/down.png") right = Tkinter.PhotoImage(file = "img/right.png") left = Tkinter.PhotoImage(file = "img/left.png") self.tk.call('wm', 'iconphoto', self._w, logo) self.canvas = Canvas(self, width = self.spectrometer.camera.res_x, height = self.spectrometer.camera.res_y, bg="white") self.canvas.grid(row = 0, column = 0) self.image = self.spectrometer.camera.get_image() b,g,r = cv2.split(self.image) img2 = cv2.merge((r,g,b)) imgFromArray = Image.fromarray(img2) self.tk_image = ImageTk.PhotoImage(image=imgFromArray) self.image_on_canvas = self.canvas.create_image(self.spectrometer.camera.res_x/2, self.spectrometer.camera.res_y/2, image = self.tk_image) self.rectangle = self.canvas.create_rectangle(self.box_x, self.box_y, self.box_x + self.box_width, self.box_y + self.box_height, outline='white') f = Frame(self) f.grid(row = 1, column = 0) f1 = Frame(f) f1.grid(row = 0, column = 0) analyseButton = Button(f1, text = "Graph", bg = "steel blue", font = "Verdana 10 bold", command = lambda : self.buttonClicked()) analyseButton.grid(column=0, row=0, sticky = W) f2 = Frame(f) f2.grid(row = 0, column = 1, padx = 30) xPositionPlusButton = Button(f2, image = right, command = lambda : self.changeXPosition(1)) xPositionPlusButton.grid(column=2, row=1) xPositionMinusButton = Button(f2, image = left, command = lambda : self.changeXPosition(-1)) xPositionMinusButton.grid(column=0, row=1) yPositionPlusButton = Button(f2, image = up, command = lambda : self.changeYPosition(-1)) yPositionPlusButton.grid(column=1, row=0) yPositionMinusButton = Button(f2,image = down, command = lambda : self.changeYPosition(1)) yPositionMinusButton.grid(column=1, row=2) g = Label(f2, text="Position", font = "Verdana 10 bold") g.grid(column= 1, row = 1) xPositionPlusButton.image = right xPositionMinusButton.image = left yPositionPlusButton.image = up yPositionMinusButton.image = down f3 = Frame(f) f3.grid(row = 0, column = 2) f4 = Frame(f) f4.grid(row = 0, column = 3, padx = 30) f5 = Frame(f) f5.grid(row = 0, column = 4) widthPlusButton = Button(f3, text = "+", fg = 'red', font = "Verdana 12 bold", command = lambda : self.changeWidth(1)) widthPlusButton.grid(column=2, row=0) widthMinusButton = Button(f3, text = "-", font = "Verdana 12 bold", command = lambda : self.changeWidth(-1)) widthMinusButton.grid(column=0, row=0) heightPlusButton = Button(f4, text = "+", fg = 'red', font = "Verdana 12 bold", command = lambda : self.changeHeight(1)) heightPlusButton.grid(column=1, row=0) heightMinusButton = Button(f4, text = "-", font = "Verdana 12 bold", command = lambda : self.changeHeight(-1)) heightMinusButton.grid(column=1, row=2) resetButton = Button(f5, text = "Reset", bg = 'black', fg = 'red', font = "Verdana 10 bold", command = lambda : self.reset()) resetButton.grid(column=0,row = 0) w = Label(f3, text="Width", font = "Verdana 10 bold") w.grid(column= 1, row = 0) h = Label(f4, text="Height", font = "Verdana 10 bold") h.grid(column= 1, row = 1) self.camera_thread = Thread(target = UpdateImage, args=(0, self)) self.camera_thread.daemon = True self.camera_thread.start()
def __init__(self, master=None, main=None): Frame.__init__(self, master) self.parent = master self.main = main self.parent.geometry("640x150") self.parent.title(os.getenv("NAME")+" - Paths") self.master.configure(padx=10, pady=10) width = 14 #icon icon = os.path.join("tkgui", "resources", "icons", "clear.png") image_clear = ImageTk.PhotoImage(file=icon) # lb8 = LabelFrame(self.parent, text="8-bit") # frame8 = Frame(self.parent) # self.parent.pack(fill=X, expand=True, side=TOP) frame8c = Frame(self.parent) frame_text1 = Frame(frame8c) frame_text1.pack(side=LEFT) # Label(frame_text1, text="SDCC compiler:", width=width, anchor="w").pack(side=LEFT) # self.label_sdcc_bin = Entry(frame8c) # self.label_sdcc_bin.pack(side=LEFT, fill=X, expand=True) frame8c.pack(fill=X, expand=True, side=TOP) # button = Button(frame8c, image=image_clear, relief=FLAT, command=lambda :self.reset_value("sdcc_bin"), borderwidth=0, highlightthickness=0) # button.image = image_clear # button.pack(side=LEFT, padx=2, pady=4) # Button(frame8c, text="Change...", command=self.set_dir_dialog(self.label_sdcc_bin)).pack(side=LEFT) frame8l = Frame(self.parent) frame_text2 = Frame(frame8l) frame_text2.pack(side=LEFT) Label(frame_text2, text="8-bit libraries:", width=width, anchor="w").pack(side=LEFT) self.label_pinguino_8_libs = Entry(frame8l) self.label_pinguino_8_libs.pack(side=LEFT, fill=X, expand=True) button = Button(frame8l, image=image_clear, relief=FLAT, command=lambda :self.reset_value("pinguino_8_libs"), borderwidth=0, highlightthickness=0) button.image = image_clear button.pack(side=LEFT, padx=2, pady=4) Button(frame8l, text="Change...", command=self.set_dir_dialog(self.label_pinguino_8_libs)).pack(side=LEFT) frame8l.pack(fill=X, expand=True, side=TOP) # lb32 = LabelFrame(self.parent, text="32-bit") # frame32 = Frame(lb32) frame32c = Frame(self.parent) frame_text3 = Frame(frame32c) frame_text3.pack(side=LEFT) # Label(frame_text3, text="GCC compiler:", width=width, anchor="w").pack(side=LEFT) # self.label_gcc_bin = Entry(frame32c) # self.label_gcc_bin.pack(side=LEFT, fill=X, expand=True) # button = Button(frame32c, image=image_clear, relief=FLAT, command=lambda :self.reset_value("gcc_bin"), borderwidth=0, highlightthickness=0) # button.image = image_clear # button.pack(side=LEFT, padx=2, pady=4) # Button(frame32c, text="Change...", command=self.set_dir_dialog(self.label_gcc_bin)).pack(side=LEFT) frame32c.pack(fill=X, expand=True, side=TOP) frame32l = Frame(self.parent) frame_text4 = Frame(frame32l) frame_text4.pack(side=LEFT) Label(frame_text4, text="32-bit libraries:", width=width, anchor="w").pack(side=LEFT) self.label_pinguino_32_libs = Entry(frame32l) self.label_pinguino_32_libs.pack(side=LEFT, fill=X, expand=True) button = Button(frame32l, image=image_clear, relief=FLAT, command=lambda :self.reset_value("pinguino_32_libs"), borderwidth=0, highlightthickness=0) button.image = image_clear button.pack(side=LEFT, padx=2, pady=4) Button(frame32l, text="Change...", command=self.set_dir_dialog(self.label_pinguino_32_libs)).pack(side=LEFT) frame32l.pack(fill=X, expand=True, side=TOP) # self.parent.pack(fill=X, expand=True, side=TOP) # lb8.pack(fill=X, expand=True, side=TOP, padx=10, pady=10) # lb32.pack(fill=X, expand=True, side=TOP, padx=10, pady=10) Label(self.master, text="Pinguino IDE requieres a restart to reinitialize its prefertences.", anchor="w").pack(side=LEFT) Button(self.master, text="Close", command=self.quit).pack(side=RIGHT) self.dialog_dirs = ((self.label_pinguino_8_libs, "PINGUINO_8_LIBS"), (self.label_pinguino_32_libs, "PINGUINO_32_LIBS"), ) default_paths = {"PINGUINO_8_LIBS": self.main.configIDE.get_path("pinguino_8_libs"), "PINGUINO_32_LIBS": self.main.configIDE.get_path("pinguino_32_libs"), } for lineEdit, keyWord in self.dialog_dirs: lineEdit.delete(0, END) lineEdit.insert(INSERT, self.main.configIDE.config("Paths", keyWord, default_paths[keyWord]))
def refreshWidget(self): #print "refresh" self.card_win.pack_forget() #Card window self.card_win = PanedWindow(self.card_win.master, orient=VERTICAL) self.card_win.pack(side=TOP, expand=True, fill=BOTH, pady=2, padx=2) #Create the name zone name_zone = PanedWindow(self.card_win, orient=HORIZONTAL) name = StringVar() name.set(self.name) from deck_creation import blocked_creature def modifName(*args): old = self.name in blocked_creature self.name = name.get() if old or self.name in blocked_creature: self.refreshWidget() name.trace("w", modifName) name_wid = Entry(name_zone, width=30, textvariable=name) name_wid.pack() name_zone.add(name_wid) #Create the cost ad star stringvar #print int(floor(self.getCost())) self.cost = StringVar() self.stars = StringVar() cost_wid = Label(None, textvariable=self.cost, background='red', width=5, anchor=W) star_wid = Label(None, textvariable=self.stars, background='blue', anchor=E) self.cost.set(str(int(floor(self.getCost())))) self.stars.set("*" * self.getStars()) #Add them in name zone name_zone.add(cost_wid) name_zone.add(star_wid) #Create an Image Zone image_zone = Button(self.card_win, command=self.choosePhoto) if hasattr(self, "photofile") and self.photofile: print "Image: ", self.photofile try: img = Image.open(self.photofile) except: decomp = self.photofile.split('/') for i in range(1, 6): try: fname = "/".join(decomp[-i:]) print "try to open", fname img = Image.open(fname) self.photofile = fname break except: self.photofile = None if self.photofile: w, h = img.size if w > 300 or h > 200: img = img.resize((w / 2, h / 2), Image.LINEAR) image_zone.image = ImageTk.PhotoImage(img) image_zone.config(image=image_zone.image) #print "IMAGE CHANGED" else: from os import path fname = self.name.replace(" ", "_") if path.isfile("Cards/" + fname + ".png"): image_zone.config(text='image can be taken from\n' + "Cards/" + fname + ".png", background='white', anchor=CENTER) else: image_zone.config(text='clic to choose image', background='white', anchor=CENTER) image_zone.pack # POWER ZONE power_zone = PanedWindow(self.card_win, orient=VERTICAL) #fenetre=self.card_win.master def removePowerCreator(px): def removePower(*args): #print 'avant',list_pow self.bonus.remove(px) #print 'apres',list_pow #self.card_win.pack_forget() self.refreshWidget() return removePower for p in self.bonus: powline = PanedWindow(self.card_win, orient=HORIZONTAL) pow_wid = p.initWidget(powline) powline.add(pow_wid) removepow = Button(powline, text="X", command=removePowerCreator(p), anchor=E) removepow.pack() powline.add(removepow) power_zone.add(powline) def addPower(*args): name = addBonus.get() print "added :", name import cardPowers self.bonus += [eval('cardPowers.' + name + '()')] self.bonus[-1].parent = self.bonus self.bonus[-1].card = self #self.card_win.pack_forget() self.refreshWidget() #Add bonus Option menu addBonus = StringVar(power_zone) addBonus.set("add bonus") # default value if not self.pv: addBonus_wid = getSpellMenu(power_zone, addBonus) else: addBonus_wid = getBonusMenu(power_zone, addBonus) addBonus.trace('w', addPower) if self.pv > 0 or len(self.bonus) == 0: addBonus_wid.pack() #Add this to power zone power_zone.add(addBonus_wid) #Create save zone save_zone = PanedWindow(self.card_win, orient=HORIZONTAL) lv = int(localopen("progression", "r").read()) if self.monster_type != "all" and not (lv < 8 and self.name in blocked_creature): save_wid = Button(save_zone, text="Save", command=self.postAndSave) elif self.monster_type != "all": save_wid = Button(save_zone, text="creature in campaign", command=None) else: save_wid = Button(save_zone, text="nead type", command=None) save_wid.pack() #Create the open button save_zone.pack() if Card.monster_list.keys(): self.opening = StringVar(save_zone) self.opening.set("Open") choice = Card.monster_list.keys() choice.sort() #print all_monsters.keys() open_wid = OptionMenu(save_zone, self.opening, *choice) self.opening.trace('w', self.Open) open_wid.pack() save_zone.add(open_wid) if Card.monster_list.keys(): self.delete = StringVar(save_zone) self.delete.set("Delete") choice = Card.monster_list.keys() choice.sort() delete_wid = OptionMenu(save_zone, self.delete, *choice) self.delete.trace('w', self.clicDelete) delete_wid.pack() save_zone.add(delete_wid) #Create the type button self.category = StringVar(save_zone) self.category.set(self.monster_type) choice = [ file2name(t, "_monsters.sav") for t in glob.glob("CardFiles/*_monsters.sav") ] if "recup" in choice: choice.remove("recup") #print all_monsters.keys() category_wid = OptionMenu(save_zone, self.category, *choice) self.category.trace('w', self.setFile) category_wid.pack() #Add it to save zone save_zone.add(save_wid) save_zone.add(category_wid) #Create a new Strength zone for att and pv strength_zone = PanedWindow(self.card_win, orient=HORIZONTAL) att = StringVar() att.set(str(self.att)) pv = StringVar() pv.set(str(self.pv)) def modifiedAttPv(*args): print "modifiedAttPv" self.pv = int(pv.get()) if self.pv < 1 and self.is_spell == False: if len(self.bonus) == 0: self.is_spell = True self.refreshWidget() else: self.pv = 1 self.refreshWidget() if self.pv > 0 and self.is_spell == True: if len(self.bonus) == 0: self.is_spell = False self.refreshWidget() else: self.pv = 0 self.refreshWidget() self.att = int(att.get()) self.getCost() att_wid = Spinbox(strength_zone, from_=0, to=1000, textvariable=att, command=modifiedAttPv) att_wid.pack() strength_zone.add(att_wid) strength_zone.add( Label(strength_zone, text=' ', background='white', anchor=CENTER)) pv_wid = Spinbox(strength_zone, from_=0, to=1000, textvariable=pv, command=modifiedAttPv) pv_wid.pack() strength_zone.add(pv_wid) #Put it all in window self.card_win.add(name_zone) self.card_win.add(image_zone) self.card_win.add(power_zone) self.card_win.add(strength_zone) self.card_win.add(save_zone) self.card_win.pack()
def refreshWidget(self) : #print "refresh" self.card_win.pack_forget() #Card window self.card_win = PanedWindow(self.card_win.master, orient=VERTICAL) self.card_win.pack(side=TOP, expand=True, fill=BOTH, pady=2, padx=2) #Create the name zone name_zone=PanedWindow(self.card_win, orient=HORIZONTAL) name = StringVar() name.set(self.name) def modifName(*args) : self.name=name.get() name.trace("w", modifName) name_wid=Entry(name_zone, width=30,textvariable=name) name_wid.pack() name_zone.add(name_wid) #Create the cost ad star stringvar #print int(floor(self.getCost())) self.cost=StringVar() self.stars=StringVar() cost_wid=Label(None, textvariable=self.cost, background='red',width=5, anchor=W) star_wid=Label(None, textvariable=self.stars, background='blue', anchor=E) self.cost.set(str(int(floor(self.getCost())))) self.stars.set("*"*self.getStars()) #Add them in name zone name_zone.add(cost_wid) name_zone.add(star_wid) #Create an Image Zone image_zone=Button(self.card_win, command=self.choosePhoto) if hasattr(self,"photofile") and self.photofile : print "Image: ",self.photofile try : img=Image.open(self.photofile) except : decomp=self.photofile.split('/') for i in range(1,6) : try : fname="/".join(decomp[-i:]) print "try to open",fname img=Image.open(fname) self.photofile=fname break except : self.photofile=None if self.photofile : w, h = img.size if w>300 or h>200 : img=img.resize((w/2,h/2),Image.LINEAR) image_zone.image=ImageTk.PhotoImage(img) image_zone.config(image=image_zone.image) #print "IMAGE CHANGED" else : from os import path name=self.name.replace(" ","_") if path.isfile("Cards/"+name+".png") : image_zone.config(text='image can be taken from\n'+"Cards/"+name+".png",background='white',anchor=CENTER) else : image_zone.config(text='clic to choose image',background='white',anchor=CENTER) image_zone.pack # POWER ZONE power_zone=PanedWindow(self.card_win, orient=VERTICAL) #fenetre=self.card_win.master def removePowerCreator(px) : def removePower(*args) : #print 'avant',list_pow self.bonus.remove(px) #print 'apres',list_pow #self.card_win.pack_forget() self.refreshWidget() return removePower for p in self.bonus : powline = PanedWindow(self.card_win, orient=HORIZONTAL) pow_wid=p.initWidget(powline) powline.add(pow_wid) removepow=Button(powline, text="X", command=removePowerCreator(p), anchor=E) removepow.pack() powline.add(removepow) power_zone.add(powline) def addPower(*args) : name=addBonus.get() print "added :",name import cardPowers self.bonus+=[eval('cardPowers.'+name+'()')] self.bonus[-1].parent=self.bonus self.bonus[-1].card=self #self.card_win.pack_forget() self.refreshWidget() #Add bonus Option menu addBonus = StringVar(power_zone) addBonus.set("add bonus") # default value if not self.pv: addBonus_wid = getSpellMenu(power_zone, addBonus) else: addBonus_wid = getBonusMenu(power_zone, addBonus) addBonus.trace('w', addPower) if self.pv>0 or len(self.bonus)==0 : addBonus_wid.pack() #Add this to power zone power_zone.add(addBonus_wid) #Create save zone save_zone = PanedWindow(self.card_win, orient=HORIZONTAL) if self.monster_type != "all": save_wid = Button(save_zone, text="Save", command=self.postAndSave) else: save_wid = Button(save_zone, text="---", command=None) save_wid.pack() #Create the open button save_zone.pack() if Card.monster_list.keys(): self.opening = StringVar(save_zone) self.opening.set("Open") choice = Card.monster_list.keys() choice.sort() #print all_monsters.keys() open_wid = OptionMenu(save_zone, self.opening,*choice) self.opening.trace('w', self.Open) open_wid.pack() save_zone.add(open_wid) if Card.monster_list.keys(): self.delete = StringVar(save_zone) self.delete.set("Delete") choice = Card.monster_list.keys() choice.sort() delete_wid = OptionMenu(save_zone, self.delete,*choice) self.delete.trace('w', self.clicDelete) delete_wid.pack() save_zone.add(delete_wid) #Create the type button self.category = StringVar(save_zone) self.category.set(self.monster_type) choice = [t[t.index("\\")+1:t.index("_monsters.sav")] for t in glob.glob("CardFiles/*_monsters.sav")] if "recup" in choice: choice.remove("recup") #print all_monsters.keys() category_wid = OptionMenu(save_zone, self.category,*choice) self.category.trace('w', self.setFile) category_wid.pack() #Add it to save zone save_zone.add(save_wid) save_zone.add(category_wid) #Create a new Strength zone for att and pv strength_zone=PanedWindow(self.card_win, orient=HORIZONTAL) att=StringVar() att.set(str(self.att)) pv=StringVar() ; pv.set(str(self.pv)) def modifiedAttPv(*args) : self.pv=int(pv.get()) if self.pv<1 and self.is_spell==False : if len(self.bonus)==0 : self.is_spell=True self.refreshWidget() else : self.pv=1 self.refreshWidget() if self.pv>0 and self.is_spell==True : if len(self.bonus)==0 : self.is_spell=False self.refreshWidget() else : self.pv=0 self.refreshWidget() self.att=int(att.get()) self.getCost() att_wid = Spinbox(strength_zone, from_=0, to=1000,textvariable=att,command=modifiedAttPv) att_wid.pack() strength_zone.add(att_wid) strength_zone.add(Label(strength_zone, text=' ', background='white', anchor=CENTER)) pv_wid = Spinbox(strength_zone, from_=0, to=1000,textvariable=pv,command=modifiedAttPv) pv_wid.pack() strength_zone.add(pv_wid) #Put it all in window self.card_win.add(name_zone) self.card_win.add(image_zone) self.card_win.add(power_zone) self.card_win.add(strength_zone) self.card_win.add(save_zone) self.card_win.pack()