Python 2.7 Tkinter 窗口小部件不显示
我正在设置一个Tkinter应用程序,但不知道为什么基本的控件没有显示出来。我只看到一个空白的Tkinter窗口,什么都没有。
下面是我的代码。我尝试添加一些简单的控件,但还是不行。
这是我写的代码:
import Tkinter as Tk
import ttk as ttk
class MainApplication(Tk.Frame):
def __init__(self, root):
Tk.Frame.__init__(self)
self.root = root
self.root.title('JRSuite')
root.attributes('-fullscreen', True)
self.mainWindow = Tk.Frame(self)
self.mainWindow.pack()
self._windowSetup()
def _windowSetup(self):
'''Sets up the basic components of the main window'''
self.tree = ttk.Treeview(self.mainWindow)
self.tree.pack()
self.note = ttk.Notebook(self.mainWindow)
self.note.pack()
self.tree.insert('', 'end', text = 'Woohoo')
if __name__ == '__main__':
root = Tk.Tk()
app = MainApplication(root)
app.mainloop()
2 个回答
1
问题: Tkinter的控件不显示
不要从 Tk.Frame
这个类继承,而是应该从 Tk.Tk
这个类继承,因为 Tk.Tk
是根窗口。
改成这样:
import Tkinter as Tk
import ttk as ttk
class MainApplication(Tk.Tk):
def __init__(self):
Tk.Frame.__init__(self)
self.title('JRSuite')
self.attributes('-fullscreen', True)
self.mainWindow = Tk.Frame(self)
self.mainWindow.pack()
self._windowSetup(self.mainWindow)
def _windowSetup(self, parent):
'''Sets up the basic components of the main window'''
self.tree = ttk.Treeview(parent)
self.tree.pack()
self.note = ttk.Notebook(parent)
self.note.pack()
self.tree.insert('', 'end', text = 'Woohoo')
if __name__ == '__main__':
MainApplication().mainloop()
5
你应该把这个应用打包:
if __name__ == '__main__':
root = Tk.Tk()
app = MainApplication(root)
app.pack()
app.mainloop()