我目前正在用一本名为"Programming Python"的书来学习python,这是一本非常好的书,它提供了很多代码示例,使其更容易理解。我在讨论 tkinter 的章节中,但我发现当我将它们与书完全相同时,很多示例都不起作用(有些确实有效,这很奇怪)。我知道这本书在python 3中工作,我的python版本是一样的,有人有什么想法吗?这是代码。
__author__ = 'MgenGlder'
from tkinter import *
from tkinter.messagebox import showinfo
class MyGui(Frame):
def __init__(self, parent = None):
Frame.__init__(self, parent)
button = Button(self, test = 'press', command = self.reply)
button.pack()
def reply(self):
showinfo(title = 'popup', message = 'Button pressed!')
if __name__ == '__main__':
window = MyGui()
window.pack()
window.mainloop()
我得到的错误是:
C:Python34python.exe "C:/Users/MgenGlder/PycharmProjects/Programming Python/tkinter102.py"
Traceback (most recent call last):
File "C:/Users/MgenGlder/PycharmProjects/Programming Python/tkinter102.py", line 14, in <module>
window = MyGui()
File "C:/Users/MgenGlder/PycharmProjects/Programming Python/tkinter102.py", line 8, in __init__
button = Button(self, test = 'press', command = self.reply)
File "C:Python34libtkinter__init__.py", line 2192, in __init__
Widget.__init__(self, master, 'button', cnf, kw)
File "C:Python34libtkinter__init__.py", line 2122, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: unknown option "-test"
错误消息准确地告诉您问题所在(尽管以一种稍微隐晦的方式):
unknown option "-test"
问题是这行代码:
button = Button(self, test = 'press', command = self.reply)
test = ...
应该是text = ...
.