当前位置: 代码迷 >> python >> 类型错误:int() 参数必须是字符串、类似字节的对象或数字,而不是“StringVar”
  详细解决方案

类型错误:int() 参数必须是字符串、类似字节的对象或数字,而不是“StringVar”

热度:81   发布时间:2023-07-16 10:53:12.0

为什么我不能添加这两个。 从 Entry 接收时,请帮助我

utility_var=StringVar()
buildingrent_var=StringVar()
total_var=StringVar()

utility_institute=Label(reg_frame,text="UTILITY",bg='grey',fg='white',font=("times new 
roman",15,'bold'))
utility_institute.grid(row=3,column=0,padx=10,sticky='w')
utility_institute_entry=Entry(reg_frame,textvariable=utility_var,font=("",12,'bold'))
utility_institute_entry.grid(row=3,column=1,padx=5,pady=5)

buildingrent=Label(reg_frame,text="BUILDING RENT",bg='grey',fg='white',font=("times new 
roman",15,'bold'))
buildingrent.grid(row=4,column=0,padx=10,sticky='w')
buildingrent_entry=Entry(reg_frame,textvariable=buildingrent_var,font=("",12,'bold'))
buildingrent_entry.grid(row=4,column=1,padx=5,pady=5)               

 def add():
            total_var=int(utility_var)+int(buildingrent_var)
            print(total_var)

我认为您遇到的问题是您正在尝试添加两个空字符串变量。

设置一个字符串变量:

from tkinter import *
a = StringVar()
b = StringVar()

a.set('hi do you understand now')
b.set('By the way, you can\'t add StringVars...')

您不能添加 StringVars 但您可以使用变量示例设置 stringvars:

from tkinter import *
a = StringVar()
b = StringVar()
ranvar1 = 'hi do you understand now'
ranvar2 = 'By the way, you can\'t add StringVars...'

a.set(ranvar1)
b.set(ranvar2)

考虑到这一点,您可以添加 ranvar1 和 ranvar2:

from tkinter import *
a = StringVar()
b = StringVar()
ranvar1 = 'hi do you understand now'
ranvar2 = 'By the way, you can\'t add StringVars...'

a.set(ranvar1)
b.set(ranvar2)

ranvar1 + ranvar2 = ranvar3
TotalVar = ranvar3