python 如何防止在tkinter中使用-zoomed属性时绕过win.resizable(False,False)?

lf3rwulv  于 2023-01-08  发布在  Python
关注(0)|答案(1)|浏览(119)

当我在zoomed属性设置为true的窗口上使用win. resizable(False,False)时,仍然可以通过移动窗口的标题栏或使用"超级+向下箭头"快捷键来调整窗口大小。有什么方法可以防止这种情况发生吗?
示例代码,可以重现:

import tkinter as tk

master = tk.Tk()

master.wait_visibility()
master.attributes("-zoomed", True)

master.resizable(False, False)

master.title("This window should not be resizable")

tk.mainloop()

Ubuntu 22.04.1
侏儒42.5
十一

gzszwxb4

gzszwxb41#

我能够创建一个最大化的窗口,无法调整大小,通过执行以下操作:

import tkinter as tk

master = tk.Tk()
master.resizable(0, 0)  # prevent resizing
master.wait_visibility()  # wait for the window
master.state('zoomed')  # maximize the window

# this guard clause isn't strictly necessary,
# but it's a 'best practice' kind of thing
if __name__ == '__main__':
    master.mainloop()  # run

也就是说,我在Windows10上,所以YMMV。我希望这能有所帮助!
P.S.:我注意到您调用了tk.mainloop()而不是master.mainloop(),这可能是一个问题,也可能不是一个问题(至少,这是非正统的)--只是一个提示!

相关问题