鱼C论坛

 找回密码
 立即注册
查看: 2230|回复: 9

[已解决]在创建一个tkinter界面中遇到的问题

[复制链接]
发表于 2017-4-10 21:35:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 豌图酱 于 2017-4-10 21:36 编辑
  1. from tkinter import *
  2. class Calculator:
  3.      def __init__(self):
  4.           window = Tk()
  5.          
  6.      

  7.           Label(window,text='Investment Amount').grid(row=0,column=0,sticky=W)
  8.           Label(window,text='Years').grid(row=1,column=0,sticky=W)
  9.           Label(window,text='Annual Interest Rate').grid(row=2,column=0,sticky=W)
  10.           Label(window,text='Future Value').grid(row=3,column=0,sticky=W)
  11.           self.investmentAmount = StringVar()
  12.           Entry(window,textvariable=self.investmentAmount,justify=RIGHT).grid(row=0,column=1)
  13.           self.years = StringVar()
  14.           Entry(window,textvariable=self.years,justify=RIGHT).grid(row=1,column=1)
  15.           self.annualInterestRate = StringVar()
  16.           Entry(window,textvariable=self.annualInterestRate,justify=RIGHT).grid(row=2,column=1)
  17.           self.futureValueVar = StringVar
  18.           Label(window,textvariable=self.futureValueVar).grid(row=3,column=1,sticky=E)
  19.           bt = Button(window,text='Calculate',command=self.calculate)
  20.           bt.grid(row=4,column=1,sticky=E)
  21.           mainloop()
  22.      def calculate(self):
  23.      
  24.           result = float(self.investmentAmount.get())*(1+float(self.annualInterestRate.get())/1200)**(int(self.years.get())*12)
  25.           self.futureValueVar.set(result)

  26. Calculator()
复制代码


是要创建一个投资值计算器,然而运行后报错,想请大家帮我看下问题出在哪里
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 1550, in __call__
    return self.func(*args)
  File "C:/Users/lenovo/Desktop/python/python语言程序设计书本资料/9.2投资计算器.py", line 26, in calculate
    self.futureValueVar.set(result)
TypeError: set() missing 1 required positional argument: 'value'


运行界面如下

                               
登录/注册后可看大图
最佳答案
2017-4-11 09:48:07
第18行 self.futureValueVar = StringVar少了括号,变成了StringVar函数,所以报错少了参数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-4-10 21:36:26 | 显示全部楼层
妈呀图上错了,再来一次

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-10 21:43:34 | 显示全部楼层

回帖奖励 +3 鱼币

看到鱼币我就来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-11 00:06:53 | 显示全部楼层

回帖奖励 +3 鱼币

帮顶一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-11 00:36:22 | 显示全部楼层

回帖奖励 +3 鱼币

新手·ing 发表于 2017-4-10 21:43
看到鱼币我就来了

做为版主,你这样好吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-11 08:56:13 | 显示全部楼层

回帖奖励 +3 鱼币

没有看出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-11 09:36:16 | 显示全部楼层

回帖奖励 +3 鱼币

self.futureValueVar = StringVar()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-11 09:48:07 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +3 鱼币

第18行 self.futureValueVar = StringVar少了括号,变成了StringVar函数,所以报错少了参数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-11 11:16:35 | 显示全部楼层
我也想要鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-11 18:51:52 | 显示全部楼层
lumber2388779 发表于 2017-4-11 09:48
第18行 self.futureValueVar = StringVar少了括号,变成了StringVar函数,所以报错少了参数

打自己一个大耳刮子!老是犯这么低级的错误T T谢谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 23:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表