python - 在处理过程中是否可以切换 tkinter 根窗口?
问题描述
对于我的 NEA,我正在尝试编写自己的程序,通过这个程序,我希望能够打开尽可能少的窗口,因此我希望能够将第一个根窗口切换到备用窗口。当发生这种情况时,我希望它关闭并替换根窗口,但我无法弄清楚如何做到这一点。是否可以关闭根窗口并在处理过程中切换它?
解决方案
这是否符合您的要求?按 F1 键在 Tk 窗口之间切换。按 Escape 或单击关闭按钮以关闭两者。
import tkinter
def windowlink( o, f, title = 'Window' ):
o.title( string = title )
o.protocol( 'WM_DELETE_WINDOW', f )
b = o.bind( '<KeyRelease-Escape>', f )
master_A = tkinter.Tk( )
master_A.withdraw()
master_A.geometry( '281x200+380+153' )
master_B = tkinter.Tk( )
master_B.withdraw()
master_B.geometry( '281x200+380+153' )
def closer( ev = None ):
master_A.destroy()
master_B.destroy()
def switchAB( ev = None ):
master_A.withdraw()
master_B.deiconify()
master_B.focus_set()
def switchBA( ev = None ):
master_B.withdraw()
master_A.deiconify()
master_A.focus_set()
windowlink( master_B, closer, title= 'Window_B' )
tkinter.Button( master_B, text = 'Switch window', command = switchBA ).grid( row=0, column=0, sticky='nsew' )
windowlink( master_A, closer, title= 'Window_A' )
tkinter.Button( master_A, text = 'Switch window', command = switchAB ).grid( row=0, column=0, sticky='nsew' )
master_B.deiconify()
master_B.focus_set()
tkinter.mainloop()
推荐阅读
- subscription - FIWARE QuantumLeap 健全性检查失败:QuantumLeap 无法从 Orion 获取更改的数据
- python - 如何将带有索引的选定列转换为熊猫中的元组列表
- if-statement - 如果变量的值发生更改,如何更改 UI?
- python - Django:查询 M2M 字段并计算出现次数的最佳方法
- ios - 如何根据插入文本字段 ios - Swift 中的月份(每个月对应一个值)进行计算
- python - 运行文件时与直接打开 python 时在 .cmd 中使用的不同 python
- python - 如何将值从列表传递到 scikit 学习线性回归模型?
- sql - 根据日期范围连接两个表
- python - 如何在 Python 中找到最有价值的产品
- c++ - 以下代码中“运行时错误”的可能原因是什么?