【问题标题】:Tkinter -- StringVar() not working correctlyTkinter -- StringVar() 无法正常工作
【发布时间】:2014-03-11 03:30:52
【问题描述】:

在尝试使用 TkInter 初始化 StringVar() 时,我收到了这个巨大的错误。所以报错如下:

In [160]: from Tkinter import *

In [161]: p = StringVar()
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-161-3e21f17f6e4f> in <module>()
----> 1 p = StringVar()

C:\Python27\lib\lib-tk\Tkinter.pyc in __init__(self, master, value, name)
    285         then the existing value is retained.
    286         """
--> 287         Variable.__init__(self, master, value, name)
    288
    289     def get(self):

C:\Python27\lib\lib-tk\Tkinter.pyc in __init__(self, master, value, name)
    216             master = _default_root
    217         self._master = master
--> 218         self._tk = master.tk
    219         if name:
    220             self._name = name

AttributeError: 'NoneType' object has no attribute 'tk'

In [162]:

不完全确定这里出了什么问题。我正在使用 A

Windows 7 系统,

Python(x,y) 版本 2.7.5.2

Python 2.7.5

在 Tkinter.py 文件中:

__version__ = "$Revision: 81008 $" 

TkVersion = 8.5

如果有人对正在发生的事情有任何线索,那么将不胜感激......

【问题讨论】:

    标签: python tkinter pythonxy


    【解决方案1】:

    在创建Tkinter.StringVar 之一之前,您需要创建Tkinter.Tk 的实例:

    root = Tk()  # You must do this first
    p = StringVar()
    

    下面是一个演示:

    >>> from Tkinter import *
    >>>
    >>> p = StringVar()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Python27\lib\lib-tk\Tkinter.py", line 287, in __init__
        Variable.__init__(self, master, value, name)
      File "C:\Python27\lib\lib-tk\Tkinter.py", line 218, in __init__
        self._tk = master.tk
    AttributeError: 'NoneType' object has no attribute 'tk'
    >>>
    >>> root = Tk()
    >>> p = StringVar()
    >>>
    

    【讨论】:

      猜你喜欢
      • 2016-12-18
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多