Python tkinter.TclError:未知选项
更新: 这只是创建btComputePayment时的一个输入错误 解决Python tkinter.TclError:未知选项,python,user-interface,tkinter,tk,Python,User Interface,Tkinter,Tk,更新: 这只是创建btComputePayment时的一个输入错误 解决 我正在使用《Python编程入门》(Pearson 2013)一书学习Python 目前我正在做一个练习,我必须用Tkinter编写一个贷款计算器 我似乎无法使以下代码正常工作: from tkinter import * class LoanCalculator: def __init__(self): window = Tk() window.title("Loan Calc
我正在使用《Python编程入门》(Pearson 2013)一书学习Python 目前我正在做一个练习,我必须用Tkinter编写一个贷款计算器 我似乎无法使以下代码正常工作:
from tkinter import *
class LoanCalculator:
def __init__(self):
window = Tk()
window.title("Loan Calculator")
# Create labels
Label(window, text = "Annual Interest Rate").grid(row = 1, column = 1, sticky = W)
Label(window, text = "Number of Years").grid(row = 2, column = 1, sticky = W)
Label(window, text = "Loan Amount").grid(row = 3, column = 1, sticky = W)
Label(window, text = "Monthly Payment").grid(row = 4, column = 1, sticky = W)
Label(window, text = "Total Payment").grid(row = 5, column = 1, sticky = W)
# Create entries
self.annualInterestRateVar = StringVar()
Entry(window, textvariable = self.annualInterestRateVar, justify = RIGHT).grid(row = 1, column = 2)
self.numberOfYearsVar = StringVar()
Entry(window, textvariable = self.numberOfYearsVar, justify = RIGHT).grid(row = 2, column = 2)
self.loanAmountVar = StringVar()
Entry(window, textvariable = self.loanAmountVar, justify = RIGHT).grid(row = 3, column = 2)
self.monthlyPaymentVar = StringVar()
lblMonthlyPayment = Label(window, textvariable = self.monthlyPaymentVar, justify = RIGHT).grid(\
row = 4, column = 2)
self.totalPaymentVar = StringVar()
lblTotalPayment = Label(window, textvariable = self.totalPaymentVar, justify = RIGHT).grid(\
row = 4, column = 2)
btComputePayment = Label(window, text = "Compute Payment", command = self.computePayment).grid(\
row = 6, column = 2, sticky = E)
window.mainloop()
def computePayment(self):
monthlyPayment = self.getMonthlyPayment(
float(self.loanAmountVar.get()),
float(self.annualInterestRateVar.get()) / 1200,
int(self.numberOfYearsVar.get()))
# Set monthly payment
self.monthlyPaymentVar.set(format(monthlyPayment, "10.2f"))
totalPayment = float(self.monthlyPaymentVar.get()) * 12 \
* int(self.numberOfYearsVar.get())
# Set total payment
self.totalPaymentVar.set(format(totalPayment, "10.2f"))
def getMonthlyPayment(self, loanAmount, monthlyInterest, numberOfYears):
monthlyPayment = loanAmount * monthlyInterest / (1 - 1 / (1 + monthlyInterest) ** (numberOfYears * 12))
return monthlyPayment
LoanCalculator()
以下是完整的回溯:
/Library/Frameworks/Python.framework/Versions/3.3/bin/python3 "/Users/narek_a/Dropbox/Python/PycharmProjects/Introduction to Programming/Chapter 9.py"
Traceback (most recent call last):
File "/Users/narek_a/Dropbox/Python/PycharmProjects/Introduction to Programming/Chapter 9.py", line 421, in <module>
LoanCalculator()
File "/Users/narek_a/Dropbox/Python/PycharmProjects/Introduction to Programming/Chapter 9.py", line 398, in __init__
btComputePayment = Label(window, text = "Compute Payment", command = self.computePayment).grid(\
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/__init__.py", line 2596, in __init__
Widget.__init__(self, master, 'label', cnf, kw)
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/__init__.py", line 2075, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: unknown option "-command"
Process finished with exit code 1
/Library/Frameworks/Python.framework/Versions/3.3/bin/python3”/Users/narek_a/Dropbox/Python/PycharmProjects/Programming Introduction to Programming/Chapter 9.py“
回溯(最近一次呼叫最后一次):
文件“/Users/narek_a/Dropbox/Python/PycharmProjects/Programming/Introduction to Programming/Chapter 9.py”,第421行,在
LoanCalculator()
文件“/Users/narek_a/Dropbox/Python/PycharmProjects/Programming/Introduction to Programming/Chapter 9.py”,第398行,在__
btComputePayment=Label(窗口,text=“computePayment”,command=self.computePayment).grid(\
文件“/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/_init__.py”,第2596行,在_init中__
小部件。_u初始化(自、主、标签、cnf、kw)
文件“/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/_init__.py”,第2075行,在_init中__
(widgetName,self._w)+额外+自选项(cnf))
_tkinter.TclError:未知选项“-命令”
进程已完成,退出代码为1
有什么想法吗
谢谢您使用的是标签而不是第33行中的按钮。标签不接受构造函数中的参数“command”。按钮使用“command”参数回调单击按钮时的操作。如果问题已解决,请将解决方案作为答案发布并接受()