在Tkinter Python中禁用窗口移动

时间:2020-03-13 13:04:51

标签: python tkinter window

看来我有待继续轰炸问题。这么短,是否可以在不删除此顶部栏的情况下禁用Tkinter窗口的移动?

它会给出最少的,可重复的代码,但是如果这样做只有两行,那就没用了。

2 个答案:

答案 0 :(得分:1)

为您的窗口绑定一个事件,然后设置窗口.geometry()

但是现在您不能通过拖动窗口的边框来修改窗口的大小(但是它可以最大化窗口。)

下面是代码示例:

import tkinter

def GetWindowPos():
    global X,Y
    X = win.winfo_geometry().split("+")[1]
    Y = win.winfo_geometry().split("+")[2]
    win.bind_all('<Configure>', HoldOn)

def HoldOn(event):
    win.geometry("+{}+{}".format(X,Y))

win = tkinter.Tk()
win.geometry("400x400+{}+{}".format(12,12))
tkinter.Label(win,text="Halo!").grid()
win.after(100,GetWindowPos)

win.mainloop()

答案 1 :(得分:0)

我找到了一种方法,但正如您可能知道的那样,要取得某些成就,我们必须失去一些东西!

您可以使用:

root.overrideredirect(True) # turns off title bar

您将无法移动 tkinter 窗口,但也会丢失标题栏。 但如果你想拥有标题栏, 然后你可以通过this link创建一个。