python - Python 程序中的 'StringVar' 问题

标签 python string user-interface widget tkinter

我正在尝试使用 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/

相关文章:

php - 从字符串的开头删除一个字符串

python - 我应该学习 wxPython 代码还是 XRC 代码?

python - 获取下一张和上一张图像的最佳方式 Django

python - "No module named"Python Sphinx 中的几个导入错误

python - 添加类方法后如何更新类的实例?

c++ - C终端程序中的状态行

user-interface - IntelliJ 项目 Pane 下的所有文件都是红色的

python - 如何使用 Docker 运行多个 Python 脚本和一个可执行文件?

检查两个数组是否已在 C 中正确连接

python - 在 Python 中使用工程符号(带有 SI 前缀)将 float 转换为字符串