Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tkinter AttributeError: object has no attribute 'tk'

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!

like image 664
PlatypusVenom Avatar asked Jan 14 '15 15:01

PlatypusVenom


1 Answers

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)
like image 174
Kevin Avatar answered Sep 19 '22 08:09

Kevin