gpt4 book ai didi

python - 初始化时出现 tkinter StringVar() 错误

转载 作者:太空狗 更新时间:2023-10-29 22:13:59 27 4
gpt4 key购买 nike

(Python 版本:3.1.1)

我在 tkinter 中遇到了 StringVar 的奇怪问题。在尝试持续更新项目中的消息小部件时,我在尝试创建变量时不断遇到错误。我跳出一个交互式 python shell 进行调查,这就是我得到的:

>>> StringVar
<class 'tkinter.StringVar'>
>>> StringVar()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python31\lib\tkinter\__init__.py", line 243, in __init__
Variable.__init__(self, master, value, name)
File "C:\Python31\lib\tkinter\__init__.py", line 174, in __init__
self._tk = master.tk
AttributeError: 'NoneType' object has no attribute 'tk'
>>>

有什么想法吗?我在 tkinter 用法上看到的每个示例都显示初始化变量时没有向构造函数发送任何内容,所以如果我遗漏了一些东西,我会不知所措......

最佳答案

StringVar 需要高手:

>>> StringVar(Tk())
<Tkinter.StringVar instance at 0x0000000004435208>
>>>

或更常见:

>>> root = Tk()
>>> StringVar()
<Tkinter.StringVar instance at 0x0000000004435508>

当您实例化 Tk 时,将创建一个新的解释器。在此之前没有任何效果:

>>> from Tkinter import *
>>> StringVar()
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Python26\lib\lib-tk\Tkinter.py", line 251, in __init__
Variable.__init__(self, master, value, name)
File "C:\Python26\lib\lib-tk\Tkinter.py", line 182, in __init__
self._tk = master.tk
AttributeError: 'NoneType' object has no attribute 'tk'
>>> root = Tk()
>>> StringVar()
<Tkinter.StringVar instance at 0x00000000044C4408>

您发现的示例的问题在于,在文献中它们可能只显示了应该在类内部或较长程序中的部分片段,因此没有明确指示导入和其他代码。

关于python - 初始化时出现 tkinter StringVar() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8762747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com