- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
(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/
(Firefox32,Win 7) 使用便签本时: var a = "2"; a = 1 - 1 + a; console.log(a, typeof a); a = 1 + a - 1; conso
我正在使用 OptionMenu 从下拉列表中选择一个选项 self.var = tk.StringVar() tk.OptionMenu(self, self.var, *self.options)
在尝试使用 TkInter 初始化 StringVar() 时,我收到了这个巨大的错误。所以报错如下: In [160]: from Tkinter import * In [161]: p = St
我正在为 Python gui 使用 Tkinter lib,我想使用循环和框架内的标签显示 excel 工作表中的文本,但是,由于 StringVar 仅设置函数,我无法插入新值,或连接字符串 pr
我正在尝试使用跟踪回调来验证对一组组合框的输入,但我在回调中获得的参数只是内部名称的字符串表示形式。有没有一种方法可以获取对触发跟踪回调的实际变量的引用,或者有一种方法可以使用内部名称(如 PY_VA
学习使用 Tkinter 并遵循在线教程。这是一个输入文本的示例,然后标签将根据输入的文本字段进行相应更新。 我正在 Mac 和 Raspberry Pi 上的 Python3 中尝试它,但我没有看到
我想创建一个如下所示的 StringVar(): someText = "The Spanish Inquisition" # Here's a normal variable whose value
我正在使用 StringVar 来更新 GUI 上的标签。 我正在使用 set 方法来更新值,但应用程序运行时文本永远不会显示。 我可以使用 get 方法(最终的打印语句,如下所示)并查看已传递给它的
您好,我在这段代码中遇到一个错误,未定义 StringVar(),这可能是一件小事,但我对 tkinter 经验不足,希望得到一些帮助,谢谢。 这是我的代码: import tkinter as tk
我有一个带 Tkinter 的 StringVar,我想检查它是否不为空。当我运行以下条件时,它在变量为空时被接受。 if self.var: print(self.var)
我正在做一个 UI,用户必须选择一些 in-dates和out-dates 。 In-dates是订单到达工厂的时间,并且 out-dates就是他想要收到订单的时候。 我遇到的问题是,当我单击一个
我正在 python 中使用 tkinter,我有一个恼人的错误,我似乎无法修复,尽管答案可能是显而易见的。 我试图用字符串调用字典,但由于某种原因我收到错误:类型错误:不可散列的类型:StringV
我试图查看 Entry 小部件中输入的值是否存储在 StringVar() 对象内,但是当我打印字符串值对象的长度时,它显示为 0。 class POS(tk.Tk): def __init__(se
实际上,我正在使用 Tkinter 开发一个 Python GUI 项目。因此,为此,我必须从用户那里获取一些整数值。所以我刚刚创建了一个类并在 init 构造函数中定义了一个实例属性,它从用户那里获
我正在尝试使用 Tkinter 在 Python 中编写一个非常简单的 UI。我在 StringVar 类中遇到了一个小问题。问题是,当我运行 python 脚本时,我在初始化 StringVar 变
(Python 版本:3.1.1) 我在 tkinter 中遇到了 StringVar 的奇怪问题。在尝试持续更新项目中的消息小部件时,我在尝试创建变量时不断遇到错误。我跳出一个交互式 python
我在 tkinter 中使用条目的删除方法时遇到问题。目前我按如下方式导入 tkinter: import Tkinter as tk 然后我声明两个变量,用于跟踪两个输入字段的值,如下所示: sel
我想访问选定 Radiobutton 的值并将其与 if 语句进行比较,但在访问该值时,我得到的是 PY_VAR0。 from tkinter import * ComplaintForm=Tk()
我需要更改 Controller 中范围的值,但特定范围的名称并未明确知道,并将作为变量发送到 Controller 函数。 具有显式作用域名称的示例函数是: $scope.resetIsCustom
我在创建自己更新的标签时遇到问题。使用while循环后,Tkinter窗口崩溃。就我而言,我不会创建多个标签并将它们堆叠在彼此的顶部,这会导致程序崩溃并且不更新标签。我能做得更好吗? 先感谢您!! 带
我是一名优秀的程序员,十分优秀!