Python 为什么这只会产生一个没有按钮的白色正方形?
为什么这只会产生一个没有按钮的白色正方形Python 为什么这只会产生一个没有按钮的白色正方形?,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,为什么这只会产生一个没有按钮的白色正方形 import tkinter as tk class Application(tk.Frame): def __init__(self, master): frame = tk.Frame(master) tk.Frame.__init__(self, master) self.PRINT = tk.Button(frame, text = 'Print', fg = 'Red', comm
import tkinter as tk
class Application(tk.Frame):
def __init__(self, master):
frame = tk.Frame(master)
tk.Frame.__init__(self, master)
self.PRINT = tk.Button(frame, text = 'Print', fg = 'Red', command = self.Print)
self.PRINT.pack(side = 'left')
self.QUIT = tk.Button(frame, text = 'Quit', fg = 'Red', command = self.quit())
self.QUIT.pack(side = 'left')
def Print(self):
print('at least somethings working')
root = tk.Tk()
b = Application(root)
root.mainloop()
尽管我按了按钮并打包了它们?我还是发现了一些问题
让我们从frame变量开始
据我所知,这真的不需要。您已经创建了一个从框架继承的类。可以保持原样,但需要使用网格管理器将其放置在类框架或根窗口中
我想你应该把它取下来,只需在按钮上使用self
接下来,因为我们使用的是类框架,所以让我们使用网格管理器将该框架放置在根窗口上
为此,我们可以使用pack()
这会让你明白的
请参阅下面的代码
import tkinter as tk
class Application(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
self.PRINT = tk.Button(self, text = 'Print', fg = 'Red', command = self.Print)
self.PRINT.pack(side = 'left')
self.QUIT = tk.Button(self, text = 'Quit', fg = 'Red', command = self.quit)
self.QUIT.pack(side = 'left')
def Print(self):
print('at least somethings working')
root = tk.Tk()
b = Application(root).pack()
root.mainloop()
结果:
当心!您有两个框架:应用程序(即框架)和init本地上下文中的“框架”。尝试删除后者并将按钮添加到“self”(这是对应用程序/框架的引用)您的框架不是packedAlso,
command=self.quit()
应该是command=self.quit
。是的,我看到了,但忘了在代码中更正它。谢谢你指出这一点。