教你用Python设置Tkinter(TK)窗口全屏最大化
1、我们咸犴孜稍先写出创建Tk窗口的代码。#-*- coding:utf-8 -*-import tkinter#导入tk包,这里小编用的是python3,如果小伙伴用的是python2,把代码中的tkinter更换成Tkinter即可,否则会报错哦win = tkinter.Tk()win.mainloop()
2、开始写之前,我们来理下思路。如果小伙伴知道怎么用geometry方法设置窗口大小的话,就很简单了。我们只需要获得当前屏幕大小即可(或者说是,器皆阄诟分辨率)。这里Tk提供了这样两个方法。winfo_screenwidth和winfo_screenheight从字面上也大概可以理解:width = 宽,winfo_screenwidth可以获得当前屏幕的宽度,height = 高,winfo_screenheight则是获得当前屏幕的高度。我们其实可以先把当前屏幕大小(分辨率)打印出来。print("当前屏幕的屏幕的宽度为%dpx" %(win.winfo_screenwidth()))print("当前屏幕的屏幕的高度为%dpx" %(win.winfo_screenheight()))
3、再去看看屏幕分辨率,确实,小编这里的屏幕分辨率确实是1920x1080不知道怎么看分辨率的小伙伴看这里:windows 7以上:右键桌面空白处,屏幕分辨率XP:右键桌面空白处,属性(后面自己找,很好找)
4、OK,我们得到当前屏幕的分辨率之后,我们只需要把窗口大小设置一下议陬涸渎即可。我们要用到的是Tk对象提供的geo罪焐芡拂metry方法,从字面上理解为几何,没错,这确实是和窗口几何有关。使用方法很简单,我们只要把我们要设置的宽度和高度转成字符串传给geometry即可。w =win.winfo_screenwidth()h = win.winfo_screenheight()win.geometry("%dx%d" %(w,h))#字符串形式为"宽度x高度"
5、此时我们可以看到tk窗口全屏了。但是有一个问题就是,我们依旧可以看到任务栏,这样其实算伪全屏吧,我们想要真正的全屏,还要把任务栏覆盖掉,这时要怎么办?
6、这里要说一个tk对象提供的方法——attributes方法,attributes方法用于修改窗口属性。我们需要置顶窗口覆盖掉所有其靓脘堤窳他窗口,attributes方法中,置顶窗口的属性名为-topmost,其用法是attributes(属性名,属性值)我们加入代码win.attributes("-topmost",True)即可置顶窗口,实现真正的全屏。此时运行看看,是不是真正全屏了?#-*- coding:utf-8 -*-import tkinterwin = tkinter.Tk()w =win.winfo_screenwidth()h = win.winfo_screenheight()win.geometry("%dx%d" %(w,h))win.attributes("-topmost",True)win.mainloop()