全局名称“ IntVar”未定义

use*_*235 0 tkinter python-3.x

我定义了一个类和该类中的变量。我在所有变量名之前都添加了self.varname。我不知道出什么问题了,但是在尝试运行脚本时,我不断收到“未定义全局名称'IntVar'

这是代码的一部分:

import tkinter as tk
from tkinter import Frame, Button, Label
import time
import random

class fragal(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.grid()
        self.mymaster = master
        self.primes = []
        self.cntr1a = 0
        self.cntr1b = 0
        self.cntr2a = 0
        self.cntr2b = 0
        self.count = IntVar()
        self.count.set(0)
        self.time_remaining = IntVar()
        self.time_remaining.set(0)
        self.gamearray = []
        self.equation = StringVar()
        self.equation.set("")
Run Code Online (Sandbox Code Playgroud)

请帮忙!我的程序有多个版本,这个版本一直有效,直到我开始更改main()循环为止。

Bry*_*ley 6

IntVar在Tkinter中定义。因为你要导入Tkinter的“传统知识”,你需要前缀IntVartk.

self.count = tk.IntVar()
Run Code Online (Sandbox Code Playgroud)

您也不需要此行:from tkinter import Frame, Button, Label您没有直接使用任何这些类。另外,您已导入所有的Tkinter的,所以你并不需要只导入Tkinter的部分。