如何解决尝试在 Tkinter 中调用我的模型,但不会等到单击按钮
这是我尝试并最终得到的。我试图在 Tkinter 中调用我的模型,但它不会等到按钮被点击。
import tkinter as tk
import os
var = tk.IntVar()
root = tk.Tk()
class model():
if var == 1:
os.system('python script.py')
button = tk.Button(root,text="Click Me",command=lambda: var.set(1))
button.place(relx=.5,rely=.5,anchor="c")
print("waiting...")
button.wait_variable(var)
print("done waiting.")
以上代码的结果:
Traceback (most recent call last):
File ".\test.py",line 3,in <module>
var = tk.IntVar()
File "C:\Users\laksh\anaconda3\lib\tkinter\__init__.py",line 529,in __init__
Variable.__init__(self,master,value,name)
File "C:\Users\laksh\anaconda3\lib\tkinter\__init__.py",line 335,in __init__
self._root = master._root()
AttributeError: 'NoneType' object has no attribute '_root'```
解决方法
tk.Tk() 调用会启动 tcl 解释器,因此在调用之前不能创建 tk 对象。所以将 tk.Tk() 调用移到 tk.IntVar() 调用之上。
root = tk.Tk()
var = tk.IntVar()
,
我认为您的问题是您没有导入 Tk
模块。也尝试通过添加此行来导入 Tk。
From Tkinter import *
此外,该模块称为 Tk,因此您需要将 T
中的 tk
大写
希望这有帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。