gpt4 book ai didi

python - 如何将 tkinter.StringVar 更改为整数类型

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:15 25 4
gpt4 key购买 nike

实际上,我正在使用 Tkinter 开发一个 Python GUI 项目。因此,为此,我必须从用户那里获取一些整数值。所以我刚刚创建了一个类并在 init 构造函数中定义了一个实例属性,它从用户那里获取输入作为字符串。除此之外,我还创建了一种使用类型转换将 StringVar() 转换为整数的方法。但是这里卡住了。。。报错如下:

Traceback (most recent call last):
File "E:\admin\Programs\Python\demo\attributes_conversion.py", line 26, in <module>
root = myString(window)
File "E:\admin\Programs\Python\demo\attributes_conversion.py", line 14, in __init__
myString.conversion(self)
File "E:\admin\Programs\Python\demo\attributes_conversion.py", line 17, in conversion
num = int(self.string)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'StringVar'**

我知道我们手中有 IntVar() 但它会像这样返回 0: demo page with IntVar()

这是我的实际代码:

from tkinter import *
class myString:
def __init__(self, master):
self.master = master
self.string = StringVar()

#label
self.master.label = Label(master, text = "Num : ")
self.master.label.grid(row = 0, column = 0, padx = 10, pady = 20)
#entry
self.master.num_entry = Entry(master, textvariable = self.string)
self.master.num_entry.grid(row = 0, column = 1, padx = 10, pady = 20)

myString.conversion(self)

def conversion(self):
num = int(self.string)
print(num)


if __name__ == "__main__":
window = Tk()
window.geometry("200x150")
window.resizable(0, 0)
window.title("demo page")
root = myString(window)
window.mainloop()

我只想将我的数据存储或转换成整数形式。因此,如果有人有任何解决方案,请通知我。我会感谢你的帮助。是的,我是 python 的新手,堆栈溢出也是如此,如果我有任何错误,请原谅我...

最佳答案

我相信您需要“获取”值,否则您将尝试转换类而不是值。

num = int(self.string.get())

关于python - 如何将 tkinter.StringVar 更改为整数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57251516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com