python GUI类型错误:“str”对象不是callab

2024-10-01 17:32:48 发布

您现在位置:Python中文网/ 问答频道 /正文

好的,我打算用python中的GUI来制作一个基本的计算器。我完成了那项任务,所有的按钮都正常工作。现在在第2步中,我应该继承原始的calculator类并创建一个名为BetterCalculator的新类,它添加了按钮sqrt、log、pct和pow。除了pow按钮外,我的一切都正常工作,当我用老师称之为驱动程序的程序运行时,我得到了以下错误:

   Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python33\lib\tkinter\__init__.py", line 1475, in __call__
    return self.func(*args)
  File "E:\calculator\Calculator in class\calculator.py", line 102, in do3
    self.n.set(self.n.get()+'3')
TypeError: 'str' object is not callable

我的密码是:

^{pr2}$

这是一个单独的文件,供该程序的驱动程序运行:

import calculator
import math

def main():

    myCal = calculator.BetterCalculator()

    myCal.reorganizeInterface()
    myCal.runInterface()


main()

Tags: inpyimportselfmainline驱动程序gui
2条回答

不看其余代码,我在pow中看到一个明显的打字错误/brain-o:

def pow(self):
    self.opt = 'pow'
    self.op1 = float(self.n.get())
    self.n.set = ('')

最后一行应该是:

^{pr2}$

没有=部分,以便调用self.n.set,而不是用字符串替换函数。(用字符串替换函数将导致稍后尝试调用self.n.set以产生您看到的错误。)

看看你的pow()方法

self.n.set = ('')

这肯定是个打字错误。替换为

^{pr2}$

相关问题 更多 >

    热门问题