我有一个Tkinter
应用程序,我想在框架中包含一些按钮,然后将此框架放置在主窗口中。Tkinter - 包含按钮的类
但是,运行代码只返回一个空窗口。所以我想我错过完全如何建立一个Tkinter
应用与模块化类..原子代码:
import Tkinter as tk
class MainApplication(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.parent = parent
self.navbar = NavBar(self)
self.navbar.grid(row=0, column=0)
class NavBar(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
self.parent = parent
self.fetchDataBtn = tk.Button(self, text='Fetch data')
self.filterDataBtn = tk.Button(self, text='Filter data')
self.fetchDataBtn.pack(padx=5, pady=10, side=tk.LEFT)
self.filterDataBtn.pack(padx=5, pady=20, side=tk.LEFT)
def main():
root = tk.Tk()
app = MainApplication(root)
root.mainloop()
if __name__ == '__main__':
main()
我这样不知道我错过了。我搜索了但找不到重复的内容(如果它们是某些,可以指出并且我将关闭该主题)。
注意:我使用Python 2.7.10
我的首选是在类之外的'init' I/O之后'包装()'。 –
@ReblochonMasque这样做的问题是,您失去了对实例定位方式的控制。如果你想使用'grid'而不是?例如,您希望将同一个小部件的四个实例作为正方形。你在普通的'__init__'的底部写什么? –
谢谢,我完全错过了在根中定位我的框架的观点... –