我正在尝试使用 Tkinter 在 Python 中编写一个非常简单的 UI。我在 StringVar
类中遇到了一个小问题。问题是,当我运行 python 脚本时,我在初始化 StringVar
变量的行中收到错误。我已经写了一个关于这个问题的示例程序,我想开始工作:
from Tkinter import *
var = StringVar()
var.set('test');
当我通过 python 运行它时,我看到了这个错误:
$ python test.py
Traceback (most recent call last):
File "test.py", line 3, in <module>
var = StringVar()
File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 254, in __init__
Variable.__init__(self, master, value, name)
File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 185, in __init__
self._tk = master.tk
AttributeError: 'NoneType' object has no attribute 'tk'
Exception AttributeError: "StringVar instance has no attribute '_tk'" in <bound method StringVar.__del__ of <Tkinter.StringVar instance at 0xb73cc80c>> ignored
我感觉这是我的 Python 安装的问题,但可能是我做错了什么?如果有所不同,我在 Ubuntu Linux 上使用 python 版本 2.6.5。
最佳答案
我认为您可能需要在调用 StringVar 之前显式调用 Tk()。
只需这样做:
from Tkinter import *
Tk() # Add this
var = StringVar()
var.set('test');
关于python - Python 程序中的 'StringVar' 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6928937/