Skip to main content
 首页 » 编程设计

python之如何在 Windows 8 中拥有合适的 tkinter 窗口

2025年05月04日10kenshinobiy

我已经做了所有可能的研究,但找不到答案。 所以我的问题是:

如何使我的窗口在任务栏不与其重叠的情况下占据最大尺寸? 我不希望我的部分窗口位于任务栏下方。

我尝试使用 winfo_screenwidth 和 winfo_screen_height,但这和 root.state("zoomed") 似乎都不起作用:它们都将窗口大小调整为屏幕大小,而我想要屏幕尺寸减去任务栏。

编辑:看到我的问题看起来有多困惑: 设 h 是我的显示器屏幕的高度(以像素为单位),h_taskbar 是任务栏的高度(以像素为单位)。我怎样才能让我的窗口以 (h - h_taskbar) 作为高度?(我不知道 h_taskbar !)

请您参考如下方法:

如果你想将全屏属性设置为True,很简单:

root = Tk() 
root.attributes('-fullscreen', True) 

但是,它不显示标题栏。如果你想让它保持可见,你可以使用 geometry() 调整 Tk 元素的大小。方法:

root = Tk() 
w, h = root.winfo_screenwidth(), root.winfo_screenheight() 
root.geometry("%dx%d+0+0" % (w, h)) 

与 winfo_width()和 winfo_height()您可以获得宽度和高度或窗口,也可以将事件处理程序绑定(bind)到 <Configure>事件:

def resize(event): 
    print("New size is: {}x{}".format(event.width, event.height)) 
 
root.bind("<Configure>", resize)