繁体   English   中英

如何使 Tkinter 窗口静止

[英]How to make Tkinter window stationary

我试图运行一个线程一段时间。所以,如果我尝试重新定位 Tkinter 窗口,我会得到

Fatal Python error: PyEval_RestoreThread: NULL tstate
Python runtime state: initialized

但后来我意识到如果我不重新定位那个窗口。 它工作正常。

更多细节:要重新定位窗口,我们通过拖动/移动窗口的标题栏手动完成,因此 Overdirected(True) 删除标题栏。 我想知道是否可以使用默认标题栏,但它执行与Overdirected(True)相同的操作

编辑:我想使用与overdirected(True)相同的功能,但我仍然需要标题栏

我试图搜索一些预先问题,但其中大部分都是基于可调整大小的东西。

一种方法是绑定configure事件并给出一个特定位置,该位置将由Toplevelgeometry方法强制:

import tkinter as tk
    
def stay(event):
    my_spot = 100,100
    root.geometry("+%d+%d" % (my_spot))
    
root=tk.Tk()
root.bind('<Configure>', stay)
    
root.mainloop()

另一种方式,有附加问题,为了解决这个问题,我将overrideredirect标志设置为True

import tkinter as tk
    
root=tk.Tk()
root.geometry("+%d+%d" % (100,100))
root.overrideredirect(1)
    
root.mainloop()

更多细节:要重新定位它,我们通过拖动/移动窗口的标题栏手动完成它,因此 Overdirected(True) 删除标题栏所以我想知道是否可以使用默认标题栏但它没有响应可以调整整个窗口大小的事件

要实现这一点,您可以使用内置方法resizable

import tkinter as tk
    
root=tk.Tk()
root.resizable(False, False)
    
root.mainloop()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM