python - 在 Tkinter 中是否有线程的替代方法?或者有没有办法在没有线程的情况下运行后台计时器?
问题描述
我是新手,Tkinter
我的理解是我们不能使用threading
with Tkinter
。所以我想知道是否有替代方法threading
,或者是否有一种简单的方法来运行后台计时器?
基本上我想root
在一段时间后用不同的元素替换我的元素,而不停止程序的执行。
这是我在意识到这threading
不是一个选项之前尝试过的Tkinter
:
def checkGridElements():
time.sleep(5)
label1.grid_forget()
label2.grid(row=0,column=0,sticky=E,padx=5,pady=5);passEntry.grid(row=0,column=1,sticky=W,padx=5,pady=5)
return
t = threading.Thread(target=checkGridElements)
t.start()
解决方案
根(所有小部件)有一个 after 方法,该方法允许在指定时间后调用函数,暂停 tk 循环。如果您尝试使用线程,您可以尝试 tkthread ( https://pypi.org/project/tkthread/ )。问题是 python 和 tcl/tk 有不同的线程系统。tkthread 应该可以弥补这一点。
推荐阅读
- r - 通过 geom_smooth 添加回归线,在一张图中有和没有颜色分组
- ruby-on-rails - 使用 Sidekiq 的 RSpec 邮件测试发送空 [] 错误
- java - 如何将 SearchView 查询添加到 FirestoreRecyclerOptions?
- path - 在域路径上使用 Google ReCaptcha
- php - 基于 WooCommerce 中订单总额的运费折扣百分比
- c# - 在具有内存限制的 Docker 容器中运行 .NET Core 应用程序
- flask - Heroku CLI 看不到 Flask 应用程序的静态文件
- r - 具有多列的非参数方差分析
- c++ - ChangeDisplaySettingsEx 更改屏幕顺序
- angular - 如何自动将扩展面板内容中的编辑器聚焦到以角度打开扩展面板?