Reputation: 557
I've looked around a bit, but I can't find an answer to my error. Here is the code:
import tkinter as tk
root=tk.Tk()
class Page(tk.Frame):
'''Enables switching between pages of a window.'''
def __init__(self):
self.widgets={}
self.grid(column=0,row=0)
page=Page()
tk.mainloop()
Here is the error:
Traceback (most recent call last):
File "C:\Documents and Settings\Desktop\Python Scripts\Tkinter.py", line 11, in <module>
page=Page()
File "C:\Documents and Settings\Desktop\Python Scripts\Tkinter.py", line , in __init__
self.grid(column=0,row=0)
File "C:\Python34\lib\tkinter\__init__.py", line 2055, in grid_configure
self.tk.call(
AttributeError: 'Page' object has no attribute 'tk'
I'm fairly new to tkinter, and this error has me stumped. I'd really appreciate any help, thank you!
Upvotes: 22
Views: 45771
Reputation: 76194
Your Page
init method should call Frame
's init.
class Page(tk.Frame):
'''Enables switching between pages of a window.'''
def __init__(self):
super(Page, self).__init__()
self.widgets={}
self.grid(column=0,row=0)
Upvotes: 30