[英]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
事件並給出一個特定位置,該位置將由Toplevel
的geometry
方法強制:
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.