After tinkering around with tkinter I can’t seem to make my window look
quite how I want it to look. But overall, I’m not sure what the File Edit View
layout is referred to. Is this is a toolbar or a menu?
So far my gui looks much less native osx than I would like. Should I just ditch
tkinter all together?
Does anyone have a code snipped that gives the general osx layout? That would be a big help.
Maybe I’m just not grasping the gui programming aspect conceptually.
thanks
I want to add menus to the following code
from tkinter import *
from tkinter import ttk
def undef(*args):
pass
def undef2(*args):
pass
root = Tk()
root.title("KDM Checker Beta ")
mainframe = ttk.Frame(root, padding="5 5 5 5")
mainframe.grid(column=12, row=12, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)
countryvar = StringVar()
country = ttk.Combobox(mainframe, textvariable=countryvar)
country['values'] = ('dolby', 'sony', 'doremi')
country.grid(column=1, row = 1)
DATE = StringVar()
VENUE = StringVar()
UUID = StringVar()
SERVER_SERIAL = StringVar()
DATE_entry = ttk.Entry(mainframe, width=8, textvariable=DATE)
DATE_entry.grid(column=3, row=4, sticky=(W, E))
VENUE_entry = ttk.Entry(mainframe, width=8, textvariable=VENUE)
VENUE_entry.grid(column=3, row=8, sticky=(W, E))
UUID_entry = ttk.Entry(mainframe, width=8, textvariable=UUID)
UUID_entry.grid(column=3, row=16, sticky=(W, E))
state = StringVar()
mount = ttk.Radiobutton(mainframe, text='dolby', variable=state, value='dolby')
ttk.Label(mainframe, textvariable=DATE).grid(column=1, row=4, sticky=(W, E))
ttk.Label(mainframe, textvariable=VENUE).grid(column=1, row=8, sticky=(W, E))
ttk.Label(mainframe, textvariable=UUID).grid(column=1, row=16, sticky=(W, E))
ttk.Label(mainframe, text="KDM Window").grid(column=1, row=4, sticky=E)
ttk.Label(mainframe, text="Venue").grid(column=1, row=8, sticky=E)
ttk.Label(mainframe, text="UUID").grid(column=1, row=16, sticky=E)
for child in mainframe.winfo_children(): child.grid_configure(padx=3, pady=9)
DATE_entry.focus()
root.bind('<Return>', undef)
root.mainloop()
To create a menubar you need to create an instance of the
Menuclass, then use it as the value of themenubarattribute of your main application. From there you can create other menus and attach them to the menubar withadd_cascade.For example: