如何修改信号量同步项目中Tkinter主窗口标题为Barrier
解决方案
方案1:直接修改Sync.py(推荐)
找到Sync.py中创建Tkinter主窗口的代码位置,通常会有类似root = tk.Tk()的语句,在这行代码之后添加标题设置:
import tkinter as tk # Sync.py中创建主窗口的代码 root = tk.Tk() root.title("Barrier") # 添加这行修改标题
运行python Sync.py sync_code/barrier.py时,主仿真窗口的标题会直接变成"Barrier",不会产生额外窗口。
方案2:在barrier.py中获取已有主窗口
如果无法修改Sync.py,可以在barrier.py中获取Sync.py已经创建好的主窗口实例,而非新建窗口:
import tkinter as tk # 获取已存在的主窗口(由Sync.py创建) root = tk._default_root if root is not None: root.title("Barrier")
tkinter的_default_root会指向程序中第一个创建的Tk根窗口,这样就能直接修改其标题,不会额外弹出新窗口。
注意:不要在barrier.py中重新调用tk.Tk(),这会创建新的独立窗口,也就是你之前遇到的双窗口问题。
内容的提问来源于stack exchange,提问作者Tung Son
相关产品推荐
相关产品推荐

