-1
与附加的代码,我尝试访问自己的widget对象的StringVar对象。Python,Tkinter,无法访问StringVar()对象
但不幸的是它说'AttributeError:'str'对象没有属性'set'' 任何想法为什么?在此先感谢..
import Tkinter as tk
class mainWindow:
def __init__(self, master):
self.master = master
self.fieldList = {}
f = tk.Entry(self.master, text='', width = 7)
f.grid(column=0, row=0)
self.addToFieldList(f, 'MyFieldA')
def addToFieldList(self, fieldObj, fieldId):
fieldObj.bind('<Return>', lambda event, temp=fieldObj :self.commitField(event, temp))
t = tk.StringVar()
fieldObj['textvariable'] = t
setattr(fieldObj, 'fieldId', fieldId)
self.fieldList[fieldId] = fieldObj
def commitField(self, event, sender):
newValue = sender.get()
t = sender['textvariable']
t.set('newValue') # here comes the error
def main():
root = tk.Tk()
app = mainWindow(root)
root.wm_geometry("500x180")
root.mainloop()
if __name__ == '__main__':
main()
请在这里询问之前做你自己的研究。 –