Python 可以用一种方法创建多个小部件吗?
我在一个窗口中创建多个标签,我想在类中使用一个方法来创建它们,并在调用函数时将名称、文本等传递给函数。在测试中,我没有找到使用变量的方法,而是将函数作为小部件的名称。是否可以这样做,或者我需要多种方法?如果无法为小部件名称传递名称,是否有其他方法可以使用一种方法创建多个小部件Python 可以用一种方法创建多个小部件吗?,python,python-3.x,class,tkinter,Python,Python 3.x,Class,Tkinter,我在一个窗口中创建多个标签,我想在类中使用一个方法来创建它们,并在调用函数时将名称、文本等传递给函数。在测试中,我没有找到使用变量的方法,而是将函数作为小部件的名称。是否可以这样做,或者我需要多种方法?如果无法为小部件名称传递名称,是否有其他方法可以使用一种方法创建多个小部件 class framemkr(object): def __init__(self, name): self.name = name def lblmkr(self, name, wor
class framemkr(object):
def __init__(self, name):
self.name = name
def lblmkr(self, name, words, frame):
self.name= Label(frame, text=words)
self.name.grid()
我假设您正在使用tkinter 您不能像建议的那样使用名称来命名label maker中的变量,但如果您不想以后与标签交互,则也不需要这样做。你可以这样做:
class framemkr(object):
def __init__(self, name):
self.name = name
def add_label(self, text, row, column, frame):
""" Adds a label to the GUI when called.
"""
Label(frame, text=text).grid(row=row, column=column)
否则,如果要与标签交互并保存变量,可以将其保存在字典中:
class framemkr(object):
def __init__(self, name):
self.name = name
self.labels = {}
def add_label(self, name, text, row, column, frame):
""" Adds a label to the GUI when called.
"""
label = Label(frame, text=text)
label.grid(row=row, column=column)
self.labels[name] = label
因此,您可以稍后从字典中访问label变量。我需要稍后访问它们,因此我必须为小部件命名。我以前做过查字典的工作,但我正在寻找其他选择。如果那是唯一的办法,那么我可以走那条路。谢谢,是的,很好