【问题标题】:Tkinter avoid/disable Window movement (or its dragging)Tkinter 避免/禁用窗口移动(或其拖动)
【发布时间】:2021-05-31 19:09:45
【问题描述】:

我有一个“缩放”(最大化)且不可调整大小的 root.tk() 窗口,现在我想避免鼠标拖动它,因为它会导致 root.tk() 窗口最小化。

我只希望 root.tk() 窗口在不同操作系统中使用“桌面隐藏按钮”隐藏。

我尝试了绑定事件和一些我发现浏览的东西。

有什么想法吗?

非常感谢。

【问题讨论】:

  • 请向我们展示您到目前为止所做的尝试

标签: tkinter window root disable


【解决方案1】:

真的,我发现这段代码只是为了做我想做的事情:

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()

【讨论】:

  • 它总是全屏的,对吧?所以获取几何是没有意义的,因为它应该始终采用width_of_screen x height_of_screen + 0 + 0 的格式,为此创建一个函数,然后将bind 转换为&lt;Configure&gt;。这段代码有什么问题,似乎可以工作,即使它是很长的路
【解决方案2】:

这可行,但是一旦移动根目录,它就会一直闪烁:

import tkinter

def HoldOn(event):
    w, h = root.winfo_screenwidth(), root.winfo_screenheight()
    root.geometry("%dx%d+0+0" % (w, h))

root = tkinter.Tk()
root.state("zoomed")
root.bind_all('<Configure>', HoldOn)

root.mainloop()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    相关资源
    最近更新 更多