python - Cannot Use Geometry Manager Grid inside . which already has slaves managed by pack -


so i'm writing small application, , error:

cannot use geometry manager grid inside . has slaves managed pack

import tkinter tk tkinter import ttk    large_font = ("times new roman", 16) normal_font = ("times new roman", 12)    def popup(title, string):     popup = tk.tk()     popup.geometry('300x100')     popup.wm_title(title)      label = ttk.label(popup, text=string)     label.pack(pady=10)      b1 = ttk.button(popup, text='okay', command=lambda:popup.destroy())     b1.pack(pady=10)  class fecapp(tk.tk):      def __init__(self, *args, **kwargs):          tk.tk.__init__(self, *args, **kwargs)         container = tk.frame(self)         container.pack(side='top', fill='both', expand=true)         container.grid_rowconfigure(0, weight=1)         container.grid_columnconfigure(0, weight=1)          tk.tk.iconbitmap(self, default='icon.ico')         tk.tk.wm_title(self, 'family entertainment center management system')          menu = tk.menu(container)          file = tk.menu(menu)         file.add_command(label='login', command=lambda:popup('not supported', 'this function not supported yet.'))         file.add_separator()         file.add_command(label='save changes', command=lambda:popup('not supported', 'this function not supported yet.'))         file.add_separator()         file.add_command(label='exit', command=lambda:exit())         menu.add_cascade(label='file', menu=file)          navigate = tk.menu(menu)         navigate.add_command(label='home', command=lambda:self.show_frame(startpage))         navigate.add_command(label='employee list', command=lambda:self.show_frame(page1))         menu.add_cascade(label='navigate', menu=navigate)          tk.tk.config(self, menu=menu)          self.frames = {}         f in (startpage, page1):             frame = f(container, self)             self.frames[f]=frame             frame.grid(row=0, column=0, sticky='nsew')          self.show_frame(startpage)      def show_frame(self, cont):          frame = self.frames[cont]         frame.tkraise()  class startpage(tk.frame):      def __init__(self, parent, controller):         tk.frame.__init__(self, parent)          self.grid_rowconfigure(0, weight=1)         self.grid_columnconfigure(0, weight=1)          label1 = ttk.label(text="oops!", font=large_font)         #label1.pack(side='top', fill='y', expand=true)         label1.grid(row=0, column=0, sticky='ns')          label1 = ttk.label(text="there doesn't seem here right now.", font=normal_font)         #label1.pack(side='top',fill='y', expand=true)         label1.grid(row=1, column=0, sticky='ns')  class page1(tk.frame):      def __init__(self, parent, controller):         tk.frame.__init__(self, parent)          listbox = multilistbox(self,[('row 1', 1, 'mein pooper'),('row 2', 2, 'mein pooper'),('row 3', 3, 'my asshole'),('row 4', 4, 'mein pooper')],['row', 'row (int)', 'christmas list'])         listbox.pack()   #since tkinter has no multicolumn listbox, suppose i'll make own... class multilistbox(ttk.frame):     def __init__(self, master, data, headings):         ttk.frame.__init__(self, master)         self.data=data          self.tree = ttk.treeview(self, columns=headings, show='headings')         head in headings:             self.tree.heading(head, text=head)         self.tree.pack()    app = fecapp() app.geometry('1280x720') app.mainloop() 

it gets fussy in startpage.__init__() start add labels using grid, can't see anywhere i'm using pack in startpage or on startpage. missing something?

the widgets in pages have wrong parent. aren't specifying parent defaults root window, , using pack in root window.


Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -