我想通过调用函数或类将以下4行代码转换为1行。这样,我可以为我想要创建的每个输入框小部件调用该函数:
self.systest = StringVar()
self.systest.set("N/A")
self.e = Entry(self.frame1, textvariable=self.systest)
self.e.grid(row=6, column=1)
这是我想要创建的功能(实际上没有工作):
def entry_boxes(self, row, col, default, var, frame):
setattr(self, var, StringVar)
setattr(self, var, default)
e = Entry(frame, textvariable=var)
e.grid(row=row, column=col)
称呼它:
entry_boxes(self,6,1,'N/A','self.systest',self.frame1)
这将是一个类的一部分,所以我需要从其中的任何位置调用变量。
答案 0 :(得分:0)
你在尝试这样的事吗?
from Tkinter import StringVar,Entry,Tk
class UIclass():
def __init__(self,root):
#define self.frame1
self.myfunc()
def myfunc(self):
self.entry_boxes(6,1,'N/A','self.systest',self.frame1)
self.entry_boxes(6,2,'N/A','self.systest',self.frame1)
...
...
...
def entry_boxes(self, row, col, default, var, frame):
setattr(self, var, StringVar)
setattr(self, var, default)
e = Entry(frame, textvariable=var)
e.grid(row=row, column=col)
if __name__ == '__main__':
root = Tk()
UIclass(root)
root.mainloop()
如果没有,请告诉我,以便我可以删除这个答案