def __init__(self, master, datasource): tk.Frame.__init__(self, master) self.datasource = datasource panedWindow = ttk.PanedWindow(self, orient=tk.HORIZONTAL) panedWindow.pack(fill=tk.BOTH, expand=1) leftFrame = tk.Frame(panedWindow) scrollbar = tk.Scrollbar(leftFrame) scrollbar.pack(side=tk.RIGHT, fill=tk.Y) self.symbolsList = ttk.Treeview(leftFrame, columns=["descr", "last_updated"], selectmode='browse') self.symbolsList.pack(fill=tk.BOTH, expand=1) self.symbolsList.config(yscrollcommand=scrollbar.set) scrollbar.config(command=self.symbolsList.yview) panedWindow.add(leftFrame) rightFrame = tk.Frame(panedWindow) btnPlot = tk.Button(rightFrame, text="Plot selected", command=self.plot) btnPlot.pack(fill=tk.BOTH, expand=1) panedWindow.add(rightFrame)
def __init__(self, top): self.top = top pw = ttk.PanedWindow(self.top, orient=HORIZONTAL) pw.pack(side=TOP, fill=BOTH, expand=True) tree = ttk.Treeview(pw, selectmode='browse', show='tree') pw2 = PanedWindow(pw, orient=VERTICAL) pw.add(tree) pw.add(pw2) self.topframe = Frame() self.canvas = Canvas(bg='blue') self.buttonbar = Frame(self.topframe) self.wizardframe = Frame(self.topframe) self.buttonbar.pack(side=TOP, fill=X, expand=0) self.wizardframe.pack(side=TOP, fill=BOTH, expand=1) Button(self.buttonbar, text="Material").pack(side=LEFT, expand=0, fill=None) Button(self.buttonbar, text="Tool").pack(side=LEFT, expand=0, fill=None) # self.text = Text(pw2, state=DISABLED, bg='blue') pw2.add(self.topframe) pw2.add(self.canvas) self.wizards = { 'facing': [ {'label': 'HSM Endmill', 'key': 'facing-endmill-hsm'}, ], 'pocketing': [ {'label': 'HSM Rectangular', 'key': 'pocketing-rect-hsm'}, {'label': 'HSM Circular', 'key': 'pocketing-circ-hsm'}, ], 'drilling': [ ], 'grooving': [ {'label': 'HSM Straight Groove', 'key': 'grooving-straight-hsm'}, ], } labels = { 'facing': 'Facing', 'pocketing': 'Pocketing', 'drilling': 'Drill', } for wt in ['facing', 'pocketing']: tree.insert('', END, text=labels[wt], iid=wt) for w in self.wizards[wt]: tree.insert(wt, END, text=w['label'], iid=w['key'], tags=w['key']) tree.tag_bind(w['key'], '<Button-1>', callback=self.memorialize( self.wizard_callback, wt, w ))
def _create_ui(self): ttk.Frame(self).place(relx=0, rely=0, relwidth=1.0, relheight=1.0) pw = ttk.PanedWindow(self, orient="horizontal") self.tree = ttk.Treeview(pw, selectmode="browse", show=("tree",)) self.container = ttk.Frame(pw) button_frame = ttk.Frame(self) apply = ttk.Button(self, text="Ok") apply.pack(in_=button_frame, side="right") button_frame.pack(side="bottom", fill="x", padx=4, pady=4) pw.pack(side="top", fill="both", expand=True) pw.add(self.tree) pw.add(self.container) self.tree.bind("<<TreeviewSelect>>", self._on_tree_select)
def gotod(): # go to date window creation newtop = Tkinter.Toplevel() newtop.title("Calendar") newtop.maxsize(190, 190) newtop.focus_set() newtop.tk.call('wm', 'iconphoto', newtop._w, logo) HLayout = ttk.PanedWindow(newtop, orient=Tkinter.HORIZONTAL) HLayout2 = ttk.PanedWindow(newtop, orient=Tkinter.HORIZONTAL) yearText = ttk.Label(HLayout, text="Year :") yearEdit = ttk.Entry(HLayout, textvariable=year) monthText = ttk.Label(HLayout2, text="Month:") monthEdit = ttk.Entry(HLayout2, textvariable=month) okb = ttk.Button(newtop, text="Ok", command=lambda: sequence(okcall, newtop.destroy)) yearText.pack(side=Tkinter.LEFT) yearEdit.pack(side=Tkinter.RIGHT) monthText.pack(side=Tkinter.LEFT) monthEdit.pack(side=Tkinter.RIGHT) HLayout.pack() HLayout2.pack() okb.pack() newtop.mainloop()
def _fillRightPane(self, parent): """ # Create the right Pane that will be composed by: # a Action Buttons TOOLBAR in the top # and another vertical Pane with: # Runs History (at Top) # Sectected run info (at Bottom) """ # Create the Action Buttons TOOLBAR toolbar = tk.Frame(parent, bg='white') toolbar.grid(row=0, column=0, sticky='news') gui.configureWeigths(toolbar) #toolbar.columnconfigure(0, weight=1) toolbar.columnconfigure(1, weight=1) self.runsToolbar = tk.Frame(toolbar, bg='white') self.runsToolbar.grid(row=0, column=0, sticky='sw') # On the left of the toolbar will be other # actions that can be applied to all runs (refresh, graph view...) self.allToolbar = tk.Frame(toolbar, bg='white') self.allToolbar.grid(row=0, column=10, sticky='se') #self.createActionToolbar() # Create the Run History tree v = ttk.PanedWindow(parent, orient=tk.VERTICAL) #runsFrame = ttk.Labelframe(v, text=' History ', width=500, height=500) runsFrame = tk.Frame(v, bg='white') self._createDataGraph(runsFrame) gui.configureWeigths(runsFrame) # Create the Selected Run Info infoFrame = tk.Frame(v) gui.configureWeigths(infoFrame) self._infoText = TaggedText( infoFrame, bg='white', handlers={'sci-open': self._openProtocolFormFromId}) self._infoText.grid(row=0, column=0, sticky='news') v.add(runsFrame, weight=3) v.add(infoFrame, weight=1) v.grid(row=1, column=0, sticky='news')
top = Tkinter.Tk() top.title("Calendar") top.minsize(200, 200) top.maxsize(250, 250) logo = Tkinter.PhotoImage(file="Britalstar.gif") top.tk.call('wm', 'iconphoto', top._w, logo) segoe = tkFont.Font(family='Segoe UI') curtime = time.localtime() year = Tkinter.StringVar() month = Tkinter.StringVar() yearInt = curtime[0] monthInt = curtime[1] dateInt = curtime[2] HLayout = ttk.PanedWindow(top, orient=Tkinter.HORIZONTAL) ctx = Tkinter.Text(top, padx=10, pady=10, bg="#f3e9ae", relief=Tkinter.FLAT, height=9, width=20) # text view to passing to functions def nextb(): # on click next button global monthInt, yearInt, ctx, curtime monthInt += 1 if monthInt > 12: monthInt = monthInt % 12 yearInt += 1
def __init__(self, root, camera, title): # Creates a Frame for the Main Window Frame.__init__(self, root) self.grid(padx=5,pady=5) self.root = root self.ControlMapping = ControlMapping() # Starts Camera Preview self.camera = camera self.camera.start_preview(fullscreen=False,window=(0,0,10,10)) self.title = title self.root.title(title) master = root master.rowconfigure(0,weight=1) master.columnconfigure(1,weight=1) master.config(padx=5,pady=5) ToolTip.LoadToolTips() '''-------------- Icons for Menu and Buttons -------------------''' self.iconClose = GetPhotoImage("Assets/window-close.png") #self.iconClose = ImageTk.PhotoImage(PIL.Image.open("Assets/window-close.png")) self.iconPrefs = GetPhotoImage('Assets/prefs1_16x16.png') self.iconWeb = GetPhotoImage('Assets/web_16x16.png') image = PIL.Image.open('Assets/camera-icon.png') self.iconCameraBig = GetPhotoImage(image.resize((22,22))) self.iconCamera = GetPhotoImage(image.resize((16,16))) image = PIL.Image.open('Assets/video-icon-b.png') self.iconVideoBig = GetPhotoImage(image.resize((22,22))) self.iconVideo = GetPhotoImage(image.resize((16,16))) '''-------------- Notebook with all control pages -------------''' frame1 = ttk.Frame(master,padding=(5,5,5,5)) frame1.grid(row=0,column=0,sticky="NSEW") frame1.rowconfigure(2,weight=1) frame1.columnconfigure(0,weight=1) self.AlwaysPreview = False n = Notebook(frame1,padding=(5,5,5,5)) n.grid(row=1,column=0,rowspan=2,sticky=(N,E,W,S)) n.columnconfigure(0,weight=1) n.enable_traversal() # Calls Notebook Pages from external classes # PiCamera Classes self.BasicControlsFrame = BasicControls(n,camera) self.ExposureFrame = Exposure(n,camera) self.FinerControlFrame = FinerControl(n,camera) # MicroscoPy Classes self.TimelapseFrame = Timelapse(n,camera) # Unfinished self.MotorControlsFrame = MotorControls(n,camera) # Unfinished self.LivestreamFrame = Livestream(n,camera) # Unfinished self.PositonalTrackingFrame = PositionalTracking(n,camera) # Unfinished n.add(self.BasicControlsFrame , text='Basic', underline=0) n.add(self.ExposureFrame, text='Exposure', underline=0) n.add(self.FinerControlFrame, text='Advanced', underline=0) n.add(self.TimelapseFrame, text='Time lapse', underline=0) n.add(self.MotorControlsFrame, text='Motor Positioning', underline=0) n.add(self.LivestreamFrame, text='Livestream', underline=0) n.add(self.PositonalTrackingFrame, text='Object Tracking', underline=0) self.FinerControlFrame.PassControlFrame(self.BasicControlsFrame) self.pw = ttk.PanedWindow(master,orient=VERTICAL,style='TPanedwindow', takefocus=True) self.pw.grid(row=0,column=1,sticky="NSEW") self.pw.rowconfigure(0,weight=1) self.pw.columnconfigure(0,weight=1) self.TopFrame = ttk.Frame(self.pw,padding=(5,5,5,5)) self.TopFrame.grid(row=0,column=0,sticky="NEWS") self.TopFrame.rowconfigure(0,weight=1) self.TopFrame.columnconfigure(1,weight=1) self.ImageCanvas = Canvas(self.TopFrame,width=256,height=256, background=self.ControlMapping.FocusColor,cursor='diamond_cross') self.ImageCanvas.grid(row=0,column=0,columnspan=2,sticky="NEWS") self.ImageCanvas.itemconfigure('nopreview',state='hidden') self.ImageCanvas.bind("<Motion>", self.CanvasMouseMove) self.ImageCanvas.bind("<ButtonPress>", self.CanvasMouseMove) self.ImageCanvas.bind("<Enter>", self.CanvasEnterLeave) self.ImageCanvas.bind("<Leave>", self.CanvasEnterLeave) ButtonFrame = ttk.Frame(self.TopFrame,padding=(5,5,5,5),relief=SUNKEN) ButtonFrame.grid(row=1,column=0,columnspan=2,sticky="NEWS") self.PreviewOn = MyBooleanVar(True) self.enablePrev = ttk.Checkbutton(ButtonFrame,text='Preview',variable=self.PreviewOn, command=self.SetPreviewOn) self.enablePrev.grid(row=0,column=0,padx=5,sticky='W') ToolTip(self.enablePrev, msg=1) l2 = Label(ButtonFrame,text="Alpha:") l2.grid(column=1,row=0,sticky='W') self.alpha = ttk.Scale(ButtonFrame,from_=0,to=255, command=self.AlphaChanged,orient='horizontal',length=75) self.alpha.grid(row=0,column=2,sticky='E') self.alpha.set(255) ToolTip(self.alpha, msg=2) self.VFlipState = False image = PIL.Image.open('Assets/flip.png') image1 = image.rotate(90) image1 = image1.resize((16,16)) self.flipVgif = ImageTk.PhotoImage(image1) self.Vflip = ttk.Button(ButtonFrame,image=self.flipVgif,width=10, command=self.ToggleVFlip,padding=(2,2,2,2)) self.Vflip.grid(row=0,column=3,padx=5) ToolTip(self.Vflip, msg=3) self.HFlipState = False self.flipHgif = ImageTk.PhotoImage(image.resize((16,16))) self.Hflip = ttk.Button(ButtonFrame,image=self.flipHgif,width=10, command=self.ToggleHFlip,padding=(2,2,2,2)) self.Hflip.grid(row=0,column=4) ToolTip(self.Hflip, msg=4) image = PIL.Image.open('Assets/rotate.png') self.RotateImg = ImageTk.PhotoImage(image.resize((16,16))) self.Rotate = ttk.Button(ButtonFrame,image=self.RotateImg,width=10, command=self.RotateCamera,padding=(2,2,2,2)) self.Rotate.grid(row=0,column=5) ToolTip(self.Rotate, msg=14) self.ShowOnScreen = MyBooleanVar(True) self.ShowOnMonitorButton = ttk.Checkbutton(ButtonFrame, \ text='Overlay',variable=self.ShowOnScreen, \ command=self.SetPreviewLocation) self.ShowOnMonitorButton.grid(row=0,column=6,padx=5,sticky='W') ToolTip(self.ShowOnMonitorButton, msg=5) l5 = Label(ButtonFrame,text="Size:") l5.grid(column=7,row=0,sticky='W') self.WindowSize = ttk.Scale(ButtonFrame,from_=100,to=800, command=self.WindowSizeChanged,orient='horizontal',length=75) self.WindowSize.grid(row=0,column=8,sticky='E') self.WindowSize.set(255) ToolTip(self.WindowSize, msg=6) #------------------ Photo / Video Section ---------------------- self.pictureStream = io.BytesIO() BottomFrame = ttk.Frame(self.pw,padding=(5,5,5,5)) BottomFrame.grid(row=1,column=0,sticky="NEWS") BottomFrame.rowconfigure(0,weight=1) BottomFrame.columnconfigure(0,weight=1) self.photoPanedWindow = ttk.PanedWindow(BottomFrame,orient=HORIZONTAL, style='Pan.TPanedwindow') self.photoPanedWindow.grid(row=0,column=0,sticky="NSEW") self.photoPanedWindow.rowconfigure(0,weight=1) self.photoPanedWindow.columnconfigure(0,weight=1) self.photoPanedWindow.columnconfigure(1,weight=1) self.LeftFrame = ttk.Frame(self.photoPanedWindow,padding=(5,5,5,5)) self.LeftFrame.grid(row=0,column=0,sticky="NEWS") self.LeftFrame.rowconfigure(0,weight=1) self.LeftFrame.columnconfigure(0,weight=1) sb = Scrollbar(self.LeftFrame,orient='vertical') sb.grid(row=0,column=1,sticky='NS') ToolTip(sb, msg=7) sb1 = Scrollbar(self.LeftFrame,orient='horizontal') sb1.grid(row=1,column=0,sticky='EW') ToolTip(sb, msg=8) text = Text(self.LeftFrame,width=37,wrap='none', yscrollcommand=sb.set,xscrollcommand=sb1.set) text.bind('<Configure>',self.TextboxResize) text.grid(row=0,column=0,sticky='NSEW') sb.config(command=text.yview) sb1.config(command=text.xview) text.bind("<Key>",lambda e : "break") # ignore all keypress self.CameraUtils = CameraUtils(self.camera,self.BasicControlsFrame) self.CameraUtils.SetupCameraSettingsTextbox(text) RightFrame = ttk.Frame(self.photoPanedWindow,padding=(5,5,5,5)) RightFrame.grid(row=0,column=1,sticky="NEWS") RightFrame.rowconfigure(0,weight=1) RightFrame.columnconfigure(0,weight=1) self.CurrentImage = None self.photoCanvas = Canvas(RightFrame,width=50,height=50, background=self.ControlMapping.FocusColor,cursor='diamond_cross') self.photoCanvas.grid(row=0,column=0,sticky="NEWS") self.photoCanvas.create_line(0,0,320,0, fill='red',tags=('cursors','objs','cursorx')) self.photoCanvas.create_line(0,0,0,240, fill='red',tags=('cursors','objs','cursory')) self.photoCanvas.create_line(0,0,320,0, fill='lightgray',activefill='blue',tags=('cross','cross1')) self.photoCanvas.create_line(0,0,0,240, fill='lightgray',activefill='blue',tags=('cross','cross2')) self.photoCanvas.create_text(0,0, tags=('capture'),text='', fill='lightgray',activefill='blue',anchor='center', font=('Helveticar',18,"bold italic")) self.photoCanvas.itemconfigure('capture',state='hidden') self.photoCanvas.create_text(0,0, fill='red',tags=('text','objs'),anchor='nw') self.photoCanvas.bind('<Configure>', self.PhotoCanvasResize) self.photoCanvas.bind("<ButtonPress-1>", self.photoCanvasScrollStart) self.photoCanvas.bind("<B1-Motion>", self.photoCanvasScrollMove) self.photoCanvas.bind("<Motion>", self.photoCanvasMove) self.photoCanvas.bind("<ButtonRelease-1>", self.photoCanvasButtonUp) self.photoCanvas.bind("<Enter>", self.photoCanvasEnterLeave) self.photoCanvas.bind("<Leave>", self.photoCanvasEnterLeave) self.InPhotoZoom = False # hack - # self.PhotoState = 'none', 'picture', 'zoom', 'video' ??? vsbar = Scrollbar(RightFrame,orient=VERTICAL) vsbar.grid(row=0,column=1,sticky='NS') vsbar.config(command=self.photoCanvas.yview) self.photoCanvas.config(yscrollcommand=vsbar.set) hsbar = Scrollbar(RightFrame,orient=HORIZONTAL) hsbar.grid(row=1,column=0,sticky='EW') hsbar.config(command=self.photoCanvas.xview) self.photoCanvas.config(xscrollcommand=hsbar.set) self.photoCanvas.bind("<5>",self.WheelScrollPhotoCanvas) self.photoCanvas.bind("<4>",self.WheelScrollPhotoCanvas) self.photoZoomScale = 1.0 self.photoPanedWindow.add(self.LeftFrame) self.photoPanedWindow.add(RightFrame) self.photoPanedWindow.forget(self.LeftFrame) ButtonFrame = ttk.Frame(BottomFrame,padding=(5,5,5,5)) ButtonFrame.grid(row=1,column=0,columnspan=3,sticky="NEWS") b = ttk.Button(ButtonFrame,text='Picture',underline=0,image=self.iconCameraBig, compound='left',command=lambda e=None:self.TakePicture(e),width=7) b.grid(row=0,column=0,sticky='W',padx=5) ToolTip(b, msg=9) self.InCaptureVideo = False # hack ---- self.TakeVideo = ttk.Button(ButtonFrame,text='Video',underline=0, image=self.iconVideoBig,compound='left', command=lambda e=None:self.ToggleVideo(e),width=7) self.TakeVideo.grid(row=0,column=1,sticky='W') ToolTip(self.TakeVideo, msg=10) self.clearImage = ImageTk.PhotoImage(file='Assets/cancel_22x22.png') b = ttk.Button(ButtonFrame,command=lambda e=None:self.ClearPicture(e), image=self.clearImage,padding=(0,1,0,1)) b.grid(row=0,column=2,sticky='W',padx=5) ToolTip(b, msg=11) image = PIL.Image.open('Assets/flip.png').resize((22,22)) self.FlipHorzImage = ImageTk.PhotoImage(image) b = ttk.Button(ButtonFrame,command=lambda e=None:self.FlipPictureH(e), image=self.FlipHorzImage,padding=(0,1,0,1)) b.grid(row=0,column=3,sticky='W') b.config(state='disabled') ToolTip(b, msg=12) self.FlipVertImage = ImageTk.PhotoImage(image.rotate(90)) b = ttk.Button(ButtonFrame,command=lambda e=None:self.FlipPictureV(e), image=self.FlipVertImage,padding=(0,1,0,1)) b.grid(row=0,column=4,sticky='W',padx=5) b.config(state='disabled') ToolTip(b, msg=13) self.pw.add(self.TopFrame) self.pw.add(BottomFrame) #-------------------------- Status Bar ------------------------- self.StatusBarFrame = ttk.Frame(master) self.StatusBarFrame.grid(row=1,column=0,columnspan=2,sticky='NSEW') self.StatusBarFrame.columnconfigure(5,weight=1) self.XYText = StringVar() l = ttk.Label(self.StatusBarFrame,anchor=CENTER,font=('Arial',9), textvariable=self.XYText,style='StatusBar.TLabel', width=13) l.grid(row=0,column=0,sticky='W') ToolTip(l,40) self.ExposureModeText = StringVar() l = ttk.Label(self.StatusBarFrame,anchor=CENTER,textvariable=self.ExposureModeText, style='StatusBar.TLabel',width=18,font=('Arial',9)) l.grid(row=0,column=1,sticky='W') ToolTip(l,41) self.AWBText = StringVar() l = ttk.Label(self.StatusBarFrame,anchor=CENTER,textvariable=self.AWBText, style='StatusBar.TLabel',width=18,font=('Arial',9)) l.grid(row=0,column=2,sticky='W') ToolTip(l,42) self.ShutterSpeedText = StringVar() l = ttk.Label(self.StatusBarFrame,anchor=CENTER,textvariable=self.ShutterSpeedText, style='StatusBar.TLabel',width=15,font=('Arial',9)) l.grid(row=0,column=3,sticky='W') ToolTip(l,43) self.FPSText = StringVar() l = ttk.Label(self.StatusBarFrame,anchor=CENTER,textvariable=self.FPSText, style='StatusBar.TLabel',width=10,font=('Arial',9)) l.grid(row=0,column=4,sticky='W') ToolTip(l,44) self.StatusText = StringVar() l = ttk.Label(self.StatusBarFrame,anchor=CENTER,textvariable=self.StatusText, style='StatusBar.TLabel',width=10,font=('Arial',9)) l.grid(row=0,column=5,sticky='EW') ToolTip(l,45) self.ExposureFrame.SetVariables(self.ExposureModeText, self.AWBText, self.ShutterSpeedText, self.FPSText) #--------------------------- Menu ------------------------------ menubar = Menu(root, foreground='black',background='#F0F0F0',activebackground='#86ABD9', activeforeground='white') filemenu = Menu(menubar,tearoff=0,foreground='black',background='#F0F0F0', activebackground='#86ABD9',activeforeground='white') #filemenu.add_command(label="Save Camera setups...",underline=0, #command=lambda e=None:self.SaveCameraSetups(e)) #filemenu.add_separator() filemenu.add_command(label="Preferences...",underline=0, image=self.iconPrefs, compound='left', command=lambda e=None:self.SystemPreferences(e)) filemenu.add_separator() filemenu.add_command(label="Quit",underline=0,image=self.iconClose, compound='left',accelerator='Ctrl+Q', command=lambda e=None:self.quitProgram(e)) self.DefineAccelerators('c','q',lambda e=None:self.quitProgram(e)) menubar.add("cascade",label='File',underline=0,menu=filemenu) viewmenu = Menu(menubar,tearoff=0,foreground='black',background='#F0F0F0', activebackground='#86ABD9',activeforeground='white') self.viewImageCursor = MyBooleanVar(False) viewmenu.add_checkbutton(label="Image cursors",underline=7, accelerator='Ctrl+Shift+C', onvalue=True,offvalue=False,variable=self.viewImageCursor, command=lambda e='Menu':self.ViewImageCursor(e)) self.DefineAccelerators('cs','c',self.ViewImageCursor) self.viewImageAttributesPane = BooleanVar() self.viewImageAttributesPane.set(False) viewmenu.add_checkbutton(label="Image Attribute pane",underline=6, accelerator='Ctrl+Shift+A', onvalue=True,offvalue=False,variable=self.viewImageAttributesPane, command=lambda e='Menu':self.ViewImageAttributesPane(e)) self.DefineAccelerators('cs','a',self.ViewImageAttributesPane) self.viewPreviewPane = BooleanVar() self.viewPreviewPane.set(True) viewmenu.add_checkbutton(label="Preview pane",underline=0, accelerator='Ctrl+Shift+P', onvalue=True,offvalue=False,variable=self.viewPreviewPane, command=lambda e='Menu':self.ViewPreviewPane(e)) self.DefineAccelerators('cs','p',self.ViewPreviewPane) self.ViewStatusBarBoolean = MyBooleanVar(True) viewmenu.add_checkbutton(label="Status bar",underline=0, onvalue=True,offvalue=False,variable=self.ViewStatusBarBoolean, command=lambda e='Menu':self.ViewStatusBar(e)) #viewmenu.add_command(label="Properties...",underline=0,accelerator='Ctrl+Alt+P', #image=self.iconPrefs,compound='left', #command=lambda e=None:self.ViewProperties(e)) #self.DefineAccelerators('ca','p',lambda e=None:self.ViewProperties(e)) menubar.add("cascade",label='View',underline=0,menu=viewmenu) photomenu = Menu(menubar,tearoff=0,foreground='black',background='#F0F0F0', activebackground='#86ABD9',activeforeground='white') photomenu.add_command(label="Take picture",underline=5, image=self.iconCamera,compound='left', command=lambda e=None:self.TakePicture(e),accelerator='Ctrl+P') self.DefineAccelerators('c','p',lambda e=None:self.TakePicture(e)) photomenu.add_command(label="Save Image...",underline=0,compound='left', command=lambda e=None:self.SavePictureorVideo(e),accelerator='Ctrl+S') self.DefineAccelerators('c','s',lambda e=None:self.SavePictureorVideo(e)) photomenu.add_command(label="Clear picture",underline=0, image=self.iconClose,compound='left', command=lambda e=None:self.ClearPicture(e),accelerator='Ctrl+C') self.DefineAccelerators('c','c',lambda e=None:self.ClearPicture(e)) photomenu.add_command(label="Reset Camera setups",underline=0, compound='left', command=lambda e=None:self.ResetCameraSetups(e),accelerator='Ctrl+R') self.DefineAccelerators('c','r',lambda e=None:self.ResetCameraSetups(e)) photomenu.add_separator() photomenu.add_command(label="Annotation/Overlay",underline=0, compound='left', command=lambda e=None:self.AnnotationOverlay(e))#,accelerator='Ctrl+A') #self.DefineAccelerators('c','a',lambda e=None:self.AnnotationOverlay(e)) menubar.add("cascade",label='Photo',underline=0,menu=photomenu) videomenu = Menu(menubar,tearoff=0,foreground='black',background='#F0F0F0', activebackground='#86ABD9',activeforeground='white') videomenu.add_command(label="Toggle video",underline=7, image=self.iconVideo,compound='left', command=lambda e=None:self.ToggleVideo(e),accelerator='Ctrl+V') self.DefineAccelerators('c','v',lambda e=None:self.ToggleVideo(e)) menubar.add("cascade",label='Video',underline=0,menu=videomenu) helpmenu = Menu(menubar,tearoff=0,foreground='black',background='#F0F0F0', activebackground='#86ABD9',activeforeground='white') helpmenu.add_command(label="Keyboard shortcuts...",underline=0, command=lambda e=None:self.KeyboardShortcuts(e)) helpmenu.add_command(label="Picamera Documentation...",underline=9, command=lambda e=None:self.PiCameraDocs(e),image=self.iconWeb,compound='left') helpmenu.add_command(label="Picamera Recipies...",underline=9, command=lambda e=None:self.PiCameraRecipies(e),image=self.iconWeb,compound='left') helpmenu.add_separator() helpmenu.add_command(label="About...",underline=0,command=lambda e=None:self.HelpAbout(e)) menubar.add("cascade",label='Help',underline=0,menu=helpmenu) root.config(menu=menubar) # infohost.nmt.edu/tcc/help/pubs/tkinter/web/menu.html # colors : wiki.tcl.tk/37701 self.CanvasPopup = Menu(root, title='Popup',tearoff=0, background='snow', foreground = 'black', activeforeground='white', activebackground='cornflowerblue',relief=FLAT) self.CanvasPopup.add_command(label='---Picture Menu---',command=None) self.CanvasPopup.add_separator() self.CanvasPopup.add_command(label='Save picture', command=lambda e=None:self.SavePictureorVideo(e)) self.CanvasPopup.add_command(label='Clear picture', command=lambda e=None:self.ClearPicture(e)) self.CanvasPopup.add_separator() self.CanvasPopup.add_command(label='Reset preview zoom', command=self.BasicControlsFrame.ZoomReset) # Selections are also bound to right mouse!! That sucks. self.photoCanvas.bind("<Button-3>", self.DoPictureWindowPopup) #--------------------------- End Menu -------------------------- # Catch all focus events to the Top Window. Use to control # whether the camera preview_window overlay is visible or not. # I'm sure this will fail with Topmost windows... :( self.root.bind('<FocusOut>',self.LoseFocus) self.root.bind('<FocusIn>',self.GotFocus) # We want to catch window movements to show/hide preview window root.bind( '<Configure>', self.OnFormEvent ) root.protocol("WM_DELETE_WINDOW", lambda e=None:self.quitProgram(e)) self.UpdateAnnotationText()
def __init__(self, root): # create logger with 'spam_application' self.log = logging.getLogger('main') self.log.setLevel(logging.DEBUG) # create file handler which logs even debug messages fh = logging.FileHandler('mainw.log') fh.setLevel(logging.DEBUG) # create console handler with a higher log level ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # create formatter and add it to the handlers formatter = logging.Formatter( '%(asctime)s - %(levelname)s - %(name)s - %(message)s') fh.setFormatter(formatter) ch.setFormatter(formatter) # add the handlers to the logger self.log.addHandler(fh) self.log.addHandler(ch) self.log.info('testasetat') self.root = root self.source = None self.root.title("pymta tkInterface {0}".format(VERSION)) # menu bar menubar = tk.Menu(self.root) filemenu = tk.Menu(menubar, tearoff=0) filemenu.add_command(label="New", command=self.database_new) filemenu.add_command(label="Open", command=self.database_open) filemenu.add_command(label="Exit", command=self.quit) menubar.add_cascade(label="File", menu=filemenu) toolsmenu = tk.Menu(menubar, tearoff=0) toolsmenu.add_command(label="Load symbols from file", command=self.symbol_load_from_file) menubar.add_cascade(label="Tools", menu=toolsmenu) self.root.config(menu=menubar) # paned window panedWindow = ttk.PanedWindow(self.root, orient=tk.VERTICAL) panedWindow.pack(fill=tk.BOTH, expand=1) # notebook notebook = ttk.Notebook(panedWindow) #~ notebook.pack(fill=tk.BOTH, expand=1) panedWindow.add(notebook, weight=3) # tabs manageSymbolsTab = tk.Frame(notebook) notebook.add(manageSymbolsTab, text="Manage symbols") plotTab = tk.Frame(notebook) notebook.add(plotTab, text="Plot") # manage symbols tab - symbols list self.symbolsList = tksym.SymbolList(manageSymbolsTab, self.source) self.symbolsList.pack(fill=tk.BOTH, expand=1) # plot symbols tab - symbols list self.plotFrame = tkplot.PlottingFrame(plotTab, self.source) self.plotFrame.pack(fill=tk.BOTH, expand=1) # button bar btnFrame = tk.Frame(manageSymbolsTab) btnFrame.pack(fill=tk.BOTH, expand=0) btnAdd = tk.Button(btnFrame, text="Add new", command=self.symbol_add) btnRefresh = tk.Button(btnFrame, text="Refresh selected", command=self.symbol_refreshEoD) btnAdd.pack(side=tk.RIGHT) btnRefresh.pack(side=tk.RIGHT) # FIXME: delete following rows self.source = yahoo.LocalSource(DEFAULT_DATABASE_PATH) self.refresh_all()
gui_style.theme_use('clam') # # Window Regions: # +---------------------+ # | frame_top | # +---------+-----------+ # | frame_ | frame_ | # | left | center | # +---------+-----------+ # | frame_bottom | # +---------------------+ # frame_top = ttk.Frame(gui) frame_top.pack(fill="both") paned_middle_bottom = ttk.PanedWindow(gui, orient=VERTICAL) paned_middle_bottom.pack(fill=BOTH, expand=1) paned_left_center = ttk.PanedWindow(paned_middle_bottom, orient=HORIZONTAL) paned_left_center.pack(expand=False, fill="both") paned_middle_bottom.add(paned_left_center) frame_left = ttk.Frame(paned_left_center) paned_left_center.add(frame_left) frame_center = ttk.Frame(paned_left_center) paned_left_center.add(frame_center) frame_bottom = ttk.Frame(paned_middle_bottom) paned_middle_bottom.add(frame_bottom) # Form Variables: var_from_account_name = StringVar(gui, value=default_sender) var_bip32_path = StringVar(gui, value=bip32_path) var_selected_asset = StringVar(gui)
def Frame1(self): #divided Frame1 by Vertical F1 = ttk.Panedwindow(self.frame1, orient=VERTICAL) self.f1topf=ttk.Frame(F1) space=ttk.Frame(F1) f1bottomf=ttk.Frame(F1) F1.add(self.f1topf) F1.add(space) F1.add(f1bottomf) F1.grid() F3=ttk.PanedWindow(f1bottomf, orient=HORIZONTAL) F3calf=ttk.Labelframe(F3,text='Calibration Frame') F3objf=ttk.Labelframe(F3,text='Object Frame') F3.add(F3calf) F3.add(F3objf) F3.grid() # f1bottomf.add(F3cal) #f1bottomf.add(F3obj) #f1bottomf.grid() F3caltop=ttk.Panedwindow(F3calf, orient=VERTICAL) F3caltopf=ttk.Frame(F3caltop) F3caltop.add(F3caltopf) F3caltop.grid() F3calbottom=ttk.Panedwindow(F3calf, orient=VERTICAL) self.Cexecutef = ttk.Frame(F3calbottom) spacec=ttk.Frame(F3calbottom) F3calbottom.add(spacec) F3calbottom.add(self.Cexecutef) F3calbottom.grid() F3objtop=ttk.Panedwindow(F3objf, orient=VERTICAL) F3objtopf=ttk.Frame(F3objtop) F3objtop.add(F3objtopf) F3objtop.grid() F3objbottom=ttk.Panedwindow(F3objf, orient=VERTICAL) self.Oexecutef = ttk.Frame(F3objbottom) spaceo=ttk.Frame(F3objbottom) F3objbottom.add(spaceo) F3objbottom.add(self.Oexecutef) F3objbottom.grid() F3c=ttk.Panedwindow(F3caltopf, orient=HORIZONTAL) # calfram1=ttk.Labelframe(F3c,text="Dark") calfram1=ttk.Frame(F3c)#) space1=ttk.Frame(F3c) calfram2=ttk.Frame(F3c)#,text="Flat") space2=ttk.Frame(F3c) calfram3=ttk.Frame(F3c)#,text="Arc") space3=ttk.Frame(F3c) F3o=ttk.Panedwindow(F3objtopf, orient=HORIZONTAL) objfram1=ttk.Frame(F3o)#,text="Standard") space4=ttk.Frame(F3o) objfram2=ttk.Frame(F3o)#,text="Target") F3c.add(calfram1) F3c.add(space1) F3c.add(calfram2) F3c.add(space2) F3c.add(calfram3) F3c.add(space3) F3c.grid() F3o.add(objfram1) F3o.add(space4) F3o.add(objfram2) F3o.grid() #calibration frame #dark F41 = ttk.Panedwindow(calfram1, orient=VERTICAL) calibnote1=ttk.Frame(F41) self.calib11 = ttk.Frame(F41) space12=ttk.Frame(F41) self.ccm1 = ttk.Labelframe(F41, text="Combine method") space13 = ttk.Frame(F41) self.calib12 = ttk.Frame(F41) F41.add(calibnote1) F41.add(self.calib11) F41.add(space12) F41.add(self.ccm1) F41.add(space13) F41.add(self.calib12) F41.grid() #flat F42 = ttk.Panedwindow(calfram2, orient=VERTICAL) calibnote2=ttk.Frame(F42) self.calib21 = ttk.Frame(F42) space22=ttk.Frame(F42) self.ccm2 = ttk.Labelframe(F42, text="Combine method") space23 = ttk.Frame(F42) self.calib22 = ttk.Frame(F42) F42.add(calibnote2) F42.add(self.calib21) F42.add(space22) F42.add(self.ccm2) F42.add(space23) F42.add(self.calib22) F42.grid() #arc F43 = ttk.Panedwindow(calfram3, orient=VERTICAL) calibnote3=ttk.Frame(F43) self.calib31 = ttk.Frame(F43) space32=ttk.Frame(F43) self.ccm3 = ttk.Labelframe(F43, text="Combine method") space33 = ttk.Frame(F43) self.calib32 = ttk.Frame(F43) F43.add(calibnote3) F43.add(self.calib31) F43.add(space32) F43.add(self.ccm3) F43.add(space33) F43.add(self.calib32) F43.grid() #calibration notebook # calibn = ttk.Notebook(calibnote) # calibl1 = Listbox(calibnote1) # self.Cflatf = ttk.Frame(calibn) # self.Carcf = ttk.Frame(calibn) self.Cdarkf = ttk.Frame(calibnote1) self.Cdarkf.grid() # calibl1.grid() # calibl2 = Listbox(calibnote2) self.Cflatf = ttk.Frame(calibnote2) self.Cflatf.grid() # calibl2.grid() # calibl3 = Listbox(calibnote3) self.Carcf = ttk.Frame(calibnote3) self.Carcf.grid() # calibl3.grid() # calibn.add(self.Cflatf, text='FLAT') # calibn.add(self.Carcf, text='ARC') # calibn.grid() #Object frame std F51 = ttk.Panedwindow(objfram1, orient=VERTICAL) objnote1=ttk.Frame(F51) self.obj11 = ttk.Frame(F51) space14=ttk.Frame(F51) self.ocm1 = ttk.Labelframe(F51, text="Combine method") space15 = ttk.Frame(F51) self.obj12 = ttk.Frame(F51) F51.add(objnote1) F51.add(self.obj11) F51.add(space14) F51.add(self.ocm1) F51.add(space15) F51.add(self.obj12) F51.grid() #Object frame tar F52 = ttk.Panedwindow(objfram2, orient=VERTICAL) objnote2=ttk.Frame(F52) self.obj21 = ttk.Frame(F52) space24=ttk.Frame(F52) self.ocm2 = ttk.Labelframe(F52, text="Combine method") space25 = ttk.Frame(F52) self.obj22 = ttk.Frame(F52) F52.add(objnote2) F52.add(self.obj21) F52.add(space24) F52.add(self.ocm2) F52.add(space25) F52.add(self.obj22) F52.grid() #object notebook # objn = ttk.Notebook(objnote) # self.Ostandardf = ttk.Frame(objn) # self.Otargetf = ttk.Frame(objn) # objn.add(self.Ostandardf, text='Standard') # objn.add(self.Otargetf, text='Target') # objn.grid() self.Ostandardf = ttk.Frame(objnote1) self.Ostandardf.grid() self.Otargetf = ttk.Frame(objnote2) self.Otargetf.grid()
def __init__(self, master): # Initialize window using the parent's constructor tk.Frame.__init__(self, master, width=1000, height=800, background="black") self.master.title("Trollette") self.master.configure(background="black") self.pack_propagate(0) self.troll = Trollette() self.style = ttk.Style() self.create_styles() ### CREATE ALL THE PANES # Main Window Pane self.pane_main = ttk.PanedWindow(orient=tk.VERTICAL) self.pane_main.pack(fill=tk.BOTH, expand=1) # Options Pane self.pane_top = ttk.PanedWindow(self.pane_main, orient=tk.HORIZONTAL) self.pane_top.pack(fill=tk.BOTH, expand=1) self.pane_main.add(self.pane_top) # Title, Presenter, Trollerate Pane self.pane_trollerate = ttk.PanedWindow(self.pane_top, orient=tk.VERTICAL) self.pane_trollerate.pack(fill=tk.BOTH, expand=1) self.pane_top.add(self.pane_trollerate) # Output Pane self.pane_bottom = ttk.PanedWindow(self.pane_main, orient=tk.HORIZONTAL) self.pane_bottom.pack(fill=tk.BOTH, expand=1) self.pane_main.add(self.pane_bottom) self.trollette_output = tk.Text(self.pane_bottom, bd=4, state=tk.DISABLED, width=80, height=40) self.trollette_output.config(font=("courier new", 16), background="black", foreground="green") self.trollette_output.pack(fill=tk.BOTH, expand=1) self.trollette_output.grid(row=0, column=0) self.troll.console = self.trollette_output self.pane_bottom.add(self.trollette_output) self.trollette_output_scroll = ttk.Scrollbar( self.trollette_output, command=self.trollette_output.yview) self.trollette_output[ 'yscrollcommand'] = self.trollette_output_scroll.set #self.pane_bottom.add(self.trollette_output_scroll) # Create the Notebook for Options self.notebook = ttk.Notebook(self.pane_top) self.frame_slide_weights = ttk.Frame( self.notebook ) # first page, which would get widgets gridded into it self.frame_terms = ttk.Frame( self.notebook ) # first page, which would get widgets gridded into it self.frame_farming = ttk.Frame( self.notebook ) # first page, which would get widgets gridded into it self.notebook.add(self.frame_slide_weights, text='Slide Weights') self.notebook.add(self.frame_terms, text='Search Terms') self.notebook.add(self.frame_farming, text='Data Farming') self.pane_top.add(self.notebook) # Add the Title, Presenter, Slide Counts, and Trollerate ttk.Label(self.pane_trollerate, text="Talk Title", anchor="w").grid(row=0, column=0, columnspan=2) ttk.Label(self.pane_trollerate, text="Presenter", anchor="w").grid(row=1, column=0, columnspan=2) self.string_talk_title = tk.StringVar() self.dropdown_talk_title = ttk.OptionMenu( self.pane_trollerate, self.string_talk_title, *self.troll.terms["talk_titles"]) self.dropdown_talk_title.grid(row=0, column=2, columnspan=2) self.entry_presenter = ttk.Entry(self.pane_trollerate) self.entry_presenter.grid(row=1, column=2, columnspan=2) ttk.Label(self.pane_trollerate, text="Slide Min", anchor="w").grid(row=2, column=0) ttk.Label(self.pane_trollerate, text="Slide Max", anchor="w").grid(row=2, column=2) self.slide_count_min_entry = ttk.Entry(self.pane_trollerate, width=5) self.slide_count_min_entry.grid(row=2, column=1) self.slide_count_min_entry.insert(0, str(self.troll.slide_min)) self.slide_count_max_entry = ttk.Entry(self.pane_trollerate, width=5) self.slide_count_max_entry.grid(row=2, column=3) self.slide_count_max_entry.insert(0, str(self.troll.slide_max)) self.image_trollerate = tk.PhotoImage(file=os.path.join( "Resources", "trollerate.gif"), width=300, height=280) self.go_button = ttk.Button(self.pane_trollerate, command=self.generate_troll, image=self.image_trollerate, style="Troll.TButton") self.go_button.grid(row=3, column=0, columnspan=4) # Add the Slide options self.weights = {} r = 0 for key in self.troll.slide_weights.weights.keys(): ttk.Label(self.frame_slide_weights, text=key, anchor="w").grid(row=r, column=0) s = ttk.Scale(self.frame_slide_weights, from_=0, to=100, orient=tk.HORIZONTAL, length=250) s.grid(row=r, column=1) s.set(self.troll.slide_weights.weights[key]) self.weights[key] = s r += 1 # Add the Terms Options self.show_title_button = ttk.Button(self.frame_terms, text='Show Talk Titles', command=self.show_titles) self.show_title_button.grid(row=0, column=0) self.add_title_entry = ttk.Entry(self.frame_terms) self.add_title_entry.grid(row=1, column=0) self.add_title_button = ttk.Button(self.frame_terms, text='Add Title', command=self.add_title) self.add_title_button.grid(row=2, column=0) self.delete_title_button = ttk.Button(self.frame_terms, text='Delete Title', command=self.delete_title) self.delete_title_button.grid(row=3, column=0) ttk.Separator(self.frame_terms, orient=tk.VERTICAL).grid(row=0, column=1, rowspan=4, sticky="ns") self.show_image_button = ttk.Button(self.frame_terms, text='Show Image Search Terms', command=self.show_image_terms) self.show_image_button.grid(row=0, column=2) self.add_image_entry = ttk.Entry(self.frame_terms) self.add_image_entry.grid(row=1, column=2) self.add_image_button = ttk.Button(self.frame_terms, text='Add Image Term', command=self.add_image_term) self.add_image_button.grid(row=2, column=2) self.delete_image_button = ttk.Button(self.frame_terms, text='Delete Image Term', command=self.delete_image_term) self.delete_image_button.grid(row=3, column=2) ttk.Separator(self.frame_terms, orient=tk.VERTICAL).grid(row=0, column=3, rowspan=4, sticky="ns") self.show_gif_button = ttk.Button(self.frame_terms, text='Show GIF Search Terms', command=self.show_gif_terms) self.show_gif_button.grid(row=0, column=4) self.add_gif_entry = ttk.Entry(self.frame_terms) self.add_gif_entry.grid(row=1, column=4) self.add_gif_button = ttk.Button(self.frame_terms, text='Add GIF Term', command=self.add_gif_term) self.add_gif_button.grid(row=2, column=4) self.delete_gif_button = ttk.Button(self.frame_terms, text='Delete GIF Term', command=self.delete_gif_term) self.delete_gif_button.grid(row=3, column=4) # Add the farming buttons self.farm_gif_button = ttk.Button(self.frame_farming, text='Farm GIFs', command=self.farm_gifs) self.farm_gif_button.grid(row=0, column=0) self.farm_image_button = ttk.Button(self.frame_farming, text='Farm Images', command=self.farm_images) self.farm_image_button.grid(row=1, column=0) self.farm_new_content_button = ttk.Button( self.frame_farming, text='Farm New Content', command=self.farm_new_content) self.farm_new_content_button.grid(row=2, column=0) self.farm_all_content_button = ttk.Button( self.frame_farming, text='Farm All Content', command=self.farm_all_content) self.farm_all_content_button.grid(row=3, column=0)
def Panedwindow(cls,master=None, **kw): return ttk.PanedWindow(master, **kw)
def __init__(self, parent, title, app, gameid, bookmark=None, **kw): kw = self.initKw(kw) MfxDialog.__init__(self, parent, title, kw.resizable, kw.default) top_frame, bottom_frame = self.createFrames(kw) self.createBitmaps(top_frame, kw) # self.app = app self.gameid = gameid self.bookmark = bookmark self.random = None if self.TreeDataHolder_Class.data is None: self.TreeDataHolder_Class.data = self.TreeData_Class(app) # self.top.wm_minsize(400, 200) sw = self.top.winfo_screenwidth() if sw >= 1100: w1, w2 = 250, 600 elif sw >= 900: w1, w2 = 250, 500 elif sw >= 800: w1, w2 = 220, 480 else: w1, w2 = 200, 300 ##print sw, w1, w2 w2 = max(200, min(w2, 10 + 12 * (app.subsampled_images.CARDW + 10))) ##print sw, w1, w2 ##padx, pady = kw.padx, kw.pady #padx, pady = kw.padx/2, kw.pady/2 padx, pady = 4, 4 # PanedWindow paned_window = ttk.PanedWindow(top_frame, orient='horizontal') paned_window.pack(expand=True, fill='both', padx=8, pady=8) left_frame = ttk.Frame(paned_window) right_frame = ttk.Frame(paned_window) paned_window.add(left_frame) paned_window.add(right_frame) # Tree font = app.getFont("default") self.tree = self.Tree_Class(self, left_frame, key=gameid, default=kw.default, font=font, width=w1) self.tree.frame.pack(padx=padx, pady=pady, expand=True, fill='both') # LabelFrame info_frame = ttk.LabelFrame(right_frame, text=_('About game')) info_frame.grid(row=0, column=0, padx=padx, pady=pady, ipadx=4, ipady=4, sticky='nws') stats_frame = ttk.LabelFrame(right_frame, text=_('Statistics')) stats_frame.grid(row=0, column=1, padx=padx, pady=pady, ipadx=4, ipady=4, sticky='nws') # Info self.info_labels = {} i = 0 for n, t, f, row in ( ('name', _('Name:'), info_frame, 0), ('altnames', _('Alternate names:'), info_frame, 1), ('category', _('Category:'), info_frame, 2), ('type', _('Type:'), info_frame, 3), ('skill_level', _('Skill level:'), info_frame, 4), ('decks', _('Decks:'), info_frame, 5), ('redeals', _('Redeals:'), info_frame, 6), # ('played', _('Played:'), stats_frame, 0), ('won', _('Won:'), stats_frame, 1), ('lost', _('Lost:'), stats_frame, 2), ('time', _('Playing time:'), stats_frame, 3), ('moves', _('Moves:'), stats_frame, 4), ('percent', _('% won:'), stats_frame, 5), ): title_label = ttk.Label(f, text=t, justify='left', anchor='w') title_label.grid(row=row, column=0, sticky='nw', padx=4) text_label = ttk.Label(f, justify='left', anchor='w') text_label.grid(row=row, column=1, sticky='nw', padx=4) self.info_labels[n] = (title_label, text_label) ##info_frame.columnconfigure(1, weight=1) info_frame.rowconfigure(6, weight=1) stats_frame.rowconfigure(6, weight=1) # Canvas self.preview = MfxScrolledCanvas(right_frame, width=w2) self.preview.setTile(app, app.tabletile_index, force=True) self.preview.grid(row=1, column=0, columnspan=3, padx=padx, pady=pady, sticky='nsew') right_frame.columnconfigure(1, weight=1) right_frame.rowconfigure(1, weight=1) # focus = self.createButtons(bottom_frame, kw) # set the scale factor self.preview.canvas.preview = 2 # create a preview of the current game self.preview_key = -1 self.preview_game = None self.preview_app = None self.updatePreview(gameid, animations=0) ##focus = self.tree.frame self.mainloop(focus, kw.timeout)
sticky="wns") Label(root, text='Tkinter Versus').grid(row=0, columnspan=2, sticky='ew') ttk.Label(root, text='ttk').grid(row=0, column=1) Button(root, text='tk Button').grid(row=1, column=0) ttk.Button(root, text='ttk Button').grid(row=1, column=1) Checkbutton(root, text='tk CheckButton').grid(row=2, column=0) ttk.Checkbutton(root, text='ttk CheckButton').grid(row=2, column=1) Entry(root).grid(row=3, column=0) ttk.Entry(root).grid(row=3, column=1) PanedWindow(root).grid(row=4, column=0) ttk.PanedWindow(root).grid(row=4, column=1) Radiobutton(root, text='tk Radio').grid(row=5, column=0) ttk.Radiobutton(root, text='ttk Radio').grid(row=5, column=1) Scale(root, orient=HORIZONTAL).grid(row=6, column=0) ttk.Scale(root).grid(row=6, column=1) ttk.Separator(root, orient=HORIZONTAL).grid(row=7, columnspan=2, sticky="ew") ttk.Label(root, text='NEW WIDGETS INTRODUCED IN ttk').grid(row=8, columnspan=2) ttk.Separator(root, orient=HORIZONTAL).grid(row=9, columnspan=2, sticky="ew") ttk.Combobox(root).grid(row=11, column=0) n = ttk.Notebook(root) n.grid(row=12, column=1)
def __init__(self, parent, title, app, manager, key=None, **kw): kw = self.initKw(kw) MfxDialog.__init__(self, parent, title, kw.resizable, kw.default) top_frame, bottom_frame = self.createFrames(kw) self.createBitmaps(top_frame, kw) # if key is None: key = manager.getSelected() self.manager = manager self.key = key self.app = app self.cardset_values = None # padx, pady = kw.padx, kw.pady padx, pady = 5, 5 if self.TreeDataHolder_Class.data is None: self.TreeDataHolder_Class.data = self.TreeData_Class(manager, key) # self.top.wm_minsize(400, 200) if self.top.winfo_screenwidth() >= 800: w1, w2 = 240, 400 else: w1, w2 = 200, 300 paned_window = ttk.PanedWindow(top_frame, orient='horizontal') paned_window.pack(expand=True, fill='both') left_frame = ttk.Frame(paned_window) right_frame = ttk.Frame(paned_window) paned_window.add(left_frame) paned_window.add(right_frame) font = app.getFont("default") self.tree = self.Tree_Class(self, left_frame, key=key, default=kw.default, font=font, width=w1) self.tree.frame.grid(row=0, column=0, sticky='nsew', padx=padx, pady=pady) if USE_PIL: # var = Tkinter.DoubleVar() var.set(app.opt.scale_x) self.scale_x = PysolScale(left_frame, label=_('Scale X:'), from_=0.5, to=4.0, resolution=0.1, orient='horizontal', variable=var, value=app.opt.scale_x, command=self._updateScale) self.scale_x.grid(row=1, column=0, sticky='ew', padx=padx, pady=pady) # var = Tkinter.DoubleVar() var.set(app.opt.scale_y) self.scale_y = PysolScale(left_frame, label=_('Scale Y:'), from_=0.5, to=4.0, resolution=0.1, orient='horizontal', variable=var, value=app.opt.scale_y, command=self._updateScale) self.scale_y.grid(row=2, column=0, sticky='ew', padx=padx, pady=pady) # self.auto_scale = Tkinter.BooleanVar() self.auto_scale.set(app.opt.auto_scale) check = ttk.Checkbutton(left_frame, text=_('Auto scaling'), variable=self.auto_scale, takefocus=False, command=self._updateAutoScale) check.grid(row=3, column=0, columnspan=2, sticky='ew', padx=padx, pady=pady) # self.preserve_aspect = Tkinter.BooleanVar() self.preserve_aspect.set(app.opt.preserve_aspect_ratio) self.aspect_check = ttk.Checkbutton( left_frame, text=_('Preserve aspect ratio'), variable=self.preserve_aspect, takefocus=False, # command=self._updateScale ) self.aspect_check.grid(row=4, column=0, sticky='ew', padx=padx, pady=pady) self._updateAutoScale() # left_frame.rowconfigure(0, weight=1) left_frame.columnconfigure(0, weight=1) # self.preview = MfxScrolledCanvas(right_frame, width=w2) self.preview.setTile(app, app.tabletile_index, force=True) self.preview.pack(fill='both', expand=True, padx=padx, pady=pady) self.preview.canvas.preview = 1 # create a preview of the current state self.preview_key = -1 self.preview_images = [] self.scale_images = [] self.updatePreview(key) # focus = self.createButtons(bottom_frame, kw) focus = self.tree.frame self.mainloop(focus, kw.timeout)