我正在開發一個腳本,在閱讀python腳本後自動生成GUI。我在使構建的Entry對象接受默認值方面遇到問題。設置tkinter條目默認值
我通過我的方法包含一個默認值和變量名稱的字典(arg)。
def create_entry(self,
arg):
if 'default' in arg.keys():
var = StringVar(value=arg['default'])
else:
var = StringVar()
box = ttk.Entry(self.mainframe, textvariable=var)
box.grid(column=1, row=self.num, columnspan=2, sticky=(W, E))
label= ttk.Label(self.mainframe, text=arg['name']).grid(column=0, row=self.num, sticky=E)
return box, label
我無法解釋的事情是,用於查找目錄類似的方法工作得很好....
def create_askdirectory(self,
arg):
if 'default' in arg.keys():
var = StringVar(value=arg['default'])
else:
var = StringVar()
box = ttk.Entry(self.mainframe, textvariable=var)
box.grid(column=1, row=self.num, columnspan=2, sticky=(W, E))
def askdirectory():
dirname = filedialog.askdirectory()
if dirname:
var.set(dirname)
button = ttk.Button(self.mainframe, text='directory', command=askdirectory).grid(column=0, row=self.num)
return box, button
整個'if..else'可能只是'var = StringVar(value = arg.get('default',''))''。 – TigerhawkT3
更整潔,謝謝,但我仍然有同樣的問題... – WRJ