GUI编程,代码可以控制程序窗口的最大化,或者全屏显示,也可以控制窗口的最小化。本文介绍如何实现tkinter窗口的最小化,这一文写完,同学们对窗口的最大化,最小化,全屏,就都可以实现代码级的操控了。
>>> import tkinter as tk
>>> root = tk.Tk()
>>> root.state('icon')
>>> root.iconify() # alternative choice
以上代码,创建一个root窗口,然后调用state函数,使用icon字符串作为参数,将其最小化;或者调用iconify函数,效果一样。就这么简单......
下面总结state函数,以及Win系统和Linux系统不一致的地方。
窗口state函数可以设置窗口的状态,还可以查询窗口的状态,此时state函数不带任何参数。
Win系统
窗口有3中状态,iconic:最小化;normal:正常显示;zoomed:最大化。
>>> root.state('normal')
''
>>> root.state()
'normal'
>>> root.state('icon')
''
>>> root.state()
'iconic'
>>> root.state('zoomed')
''
>>> root.state()
'iconic' # i do not want why
>>> root.state('zoomed')
''
>>> root.state()
'zoomed'
Linux系统(Ubuntu桌面测试)
无论什么状态下,窗口返回的状态都是normal,可以用本文的方法实现最小化,不过实现最大化,就要使用attributes函数。
如果完全用代码来控制窗口复杂的最大化最小化等操作,中间可能还涉及窗口是否获取焦点的问题,我没有仔细测试过,总之感觉用处不大,也比较复杂。
-- EOF --