【问题标题】:Tkinter IntVar attribute error when using radiobuttons使用单选按钮时出现 Tkinter IntVar 属性错误
【发布时间】:2022-02-04 07:30:44
【问题描述】:

我正在使用 tkinter 制作一个简单的计算器,并且此错误消息不断出现。

AttributeError: type object 'Tk' has no attribute 'IntVar'

追溯:

文件“c:/Desktop/myprograms/Calculator.py”,第 9 行,在 v = Tk.IntVar() AttributeError:类型对象“Tk”没有属性“IntVar”

这是我的代码:

import tkinter as tk
from tkinter import *
import time

root = Tk()
tk = Tk()
v = Tk.IntVar()
v.set(1)  # initializing the choice   
root.title('Calculator')
root.geometry('600x400+50+50')
def calucator():
   value1 = tk.StringVar(root, Value= 'Number:' )
   value1 = tk.Entry(root, textvariable=value1).pack()
   time.sleep(1)
   value2 = tk.StringVar(root, Value= 'Number:' )
   value2 = tk.Entry(root, textvariable=value2).pack()
   time.sleep(1)  

   operations = [("Addition", 101),
                 ("Subtraction", 102),
                 ("Divison", 103),
                 ("Mulitplication", 104)]

   def ShowChoice():
       print(v.get())

       tk.Label(root, 
            text="""Choose your Operation""",
            justify = tk.LEFT,
            padx = 20).pack()

            for operations, val in operations:
               tk.Radiobutton(root, 
               text=operations,
               padx = 20, 
               variable=v, 
               command=ShowChoice,
               value=val).pack(anchor=tk.W)  
         

if val==101:
    print('value1 + value2')

elif val==102:
    print('value1 - value2')

elif val==103:
    print('value1 * value2')

elif val==104:
    print('value1 / value2')

else:
    close

我到处找了,还没有找到解决办法。我知道堆栈溢出还有其他线程与我的问题类似,但是我尝试过的所有解决方案都没有奏效。

任何帮助都会很棒! 捷运

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    您已导入一个模块并将其命名为tk。然后创建一个新对象并将其命名为tk。你只能拥有一个具有该名称的东西。

    解决方案是为Tk 的实例选择一个不同的名称,或者为您的导入选择一个不同的名称。

    您需要删除tk=Tk()。另外,v = Tk.IntVar() 必须是 v = tk.IntVar()

    【讨论】:

    • 感谢您的回答,您能解释一下我将如何在我的代码中实现它吗?我是 Tkinter 的新手,所以我不太明白你的意思。
    • @mrt:不要做tk=Tk()
    猜你喜欢
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 2015-04-13
    • 2017-04-02
    • 2021-03-05
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多