我对python还不太熟悉,无法让测试程序正常工作。其目标是创建一个使用对象来保存信息的地址簿。小部件运行,但是当单击按钮而不是更新时,我会得到错误
"Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\neuvillerl\Desktop\Python27\lib\lib-tk\Tkinter.py", line 1542, in __call__
return self.func(*args)
File "C:\Users\neuvillerl\workspace\vtk_testing\wid.py", line 71, in <lambda>
btns = Tkinter.Button(nam, text = x.get_name(), command= lambda x=x: update(x),bg = 'blue', fg = 'white')
File "C:\Users\neuvillerl\workspace\vtk_testing\wid.py", line 61, in update
lbl5.configure(nam, text = "name: " + str(person.get_name()))
File "C:\Users\neuvillerl\Desktop\Python27\lib\lib-tk\Tkinter.py", line 1331, in configure
return self._configure('configure', cnf, kw)
File "C:\Users\neuvillerl\Desktop\Python27\lib\lib-tk\Tkinter.py", line 1322, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
TclError: unknown option "-colormap""
以及代码:
nam = Tkinter.Tk()
class person(object):
def __init__(self, name, phone, address, email):
self.name = name
self.phone = phone
self.address = address
self.email = email
def get_name(self):
return self.name
def get_phone(self):
return self.phone
def get_address(self):
return self.address
def get_email(self):
return self.email
riley = person("Riley", "XXX-XXX-XXXX", "This place", "email1@hi.com")
alex = person("Alex","XXX-XXX-XXXX", "That place", "email2@hi.com")
maggie = person("Maggie","XXX-XXX-XXXX","Other place","email3@hi.com")
lst = [riley,alex,maggie]
def update(person):
lbl5.configure(nam, text = "name: " + str(person.get_name()))
lbl6.configure(nam, text = "phone#: " + str(person.get_phone()))
lbl7.configure(nam, text = "address: " + str(person.get_address()))
lbl8.configure(nam, text = "email: " + str(person.get_email()))
lbl5 = Tkinter.Label(nam, text = "name:" )
lbl6 = Tkinter.Label(nam, text = "phone#:" )
lbl7 = Tkinter.Label(nam, text = "address:" )
lbl8 = Tkinter.Label(nam, text = "email:" )
for x in lst:
btns = Tkinter.Button(nam, text = x.get_name(), command= lambda x=x:
update(x),bg = 'blue', fg = 'white')
btns.pack(fill = Tkinter.X)
lbl5.pack()
lbl6.pack()
lbl7.pack()
lbl8.pack()
nam.mainloop()`
目前没有回答
相关问题 更多 >
编程相关推荐