你好。在类方法中创建单选按钮或任何类型的小部件(如label小部件)时,我感到困惑,因为它没有像变量一样存储在某种容器中。这是我第一次看到这种代码:在这里
class Application(Frame):
""" GUI Application for favorite movie type. """
def __init__(self, master):
""" Initiale Frame. """
super(Application, self).__init__(master)
self.grid()
self.create_widgets()
def create_widgets(self):
""" Create widgets for movie type choices. """
# Create description label
Label(self,
text = "Choose your favorite type of movie"
).grid(row=0, column=0, sticky= W)
# create instruction label
Label(self,
text="Select one:"
).grid(row=1,column=0, sticky=W)
Radiobutton(self,
text="Comedy",
variable=self.favorite,
value = "comedy.",
command = self.update_text
).grid(row = 2, column = 0, sticky=W)
# create Drama radio button
Radiobutton(self,
text = "Drama",
variable = self.favorite,
value = "drama.",
command = self.update_text
).grid(row = 3, column = 0, sticky = W)
# create Romance button
Radiobutton(self,
text = "Romance",
variable = self.favorite,
value = "romance.",
command = self.update_text
).grid(row = 4, column = 0, sticky = W)
我通常看到这样的代码:
radio = Radiobutton(root)
radio.grid()
你能解释一下第一个密码是怎么回事吗?它是如何创建一个小部件而不将其存储在某种变量中的,比如第二个代码
Tkinter只是嵌入式Tcl解释器的一个薄包装,它本身就加载了tk工具包。创建小部件时,实际的小部件在tcl解释器中表示为一个对象。你知道吗
Tkinter将创建一个python对象来保存对这个tcl对象的引用,但是tcl/tk对象的存在并不需要python对象的存在。如果您创建一个小部件而不保存引用,那么小部件仍然被创建并且仍然存在于tcl/tk解释器中。你知道吗
相关问题 更多 >
编程相关推荐