我试图找到一种方法,使一个Tkinter应用程序的主窗口使用所有的屏幕空间。在应用程序启动后,我总是要最大限度地使用屏幕。我试过这样的代码:
win.state('zoomed')但是,Linux不支持它。我需要一个能在任何平台上工作的解决方案。
发布于 2022-04-28 22:14:55
在this question的答案中有很多信息,但是在不同的系统中都有问题:
root.state("zoomed")在Linux上不工作,但在Windows.上工作。
root.wm_attributes("-zoomed", True)适用于Linux (据我所知,Mac ),但不适用于Windows.。
如果您阅读了
基本上,似乎没有任何单一的跨平台解决方案。因此,我建议您使用try/except块,如果一个解决方案失败,则使用另一个解决方案:
import tkinter
root = tkinter.Tk()
try:
root.wm_attributes("-zoomed", True)
except tkinter.TclError:
root.state('zoomed')
root.mainloop()对于那些不喜欢try/except块的人来说,另一种选择是使用内置的platform模块和一些if语句:
import tkinter, platform
root = tkinter.Tk()
if platform.uname()[0] == "Windows":
root.state('zoomed')
else:
root.wm_attributes("-zoomed", True)
root.mainloop()我确信这在Windows上是有效的,但由于我无法访问Windows进行测试,所以如果有人确认它在Windows上工作,那就太好了。希望这有帮助,如果你有任何问题,请告诉我!
https://stackoverflow.com/questions/72035495
复制相似问题