大家好,我正在嘗試制作一個學習用的計時器,當休息時間被觸發時就會彈出來。我正在使用這段代碼來顯示視窗,但我面臨的問題是,如果我最小化視窗,這段代碼就不再起作用了,應用程式也不會彈出。我試圖找到一種方法來移除視窗中的最小化按鈕選項,但沒有遇到任何問題。
def raise_above_all(window)。
window.attribute('-topmost', 1)
window.attributions('-topmost', 0)
uj5u.com熱心網友回復:
不要去禁用視窗的最小化按鈕。只要使用window.state('zoomed')和window.attributions('-topmost', True)。這樣,即使視窗被最小化了,它仍然會被提升到最上面的位置。
同時,事先定義好視窗的maxsize,這樣視窗就不會因為zoomed而變成全屏。
下面是一個簡單而完整的演示。 (要提高視窗 "window2",你需要在 "window1 "的輸入框中輸入1)
from tkinter import *
window1 = Tk()
window1.geometry('1200x600')
window1.minsize(1200, 600)
def raise_above_all(window)。
window.state('zoomed') #Needed in case the window2 is minimized。
window.attribute('-topmost', True)
def create_new_window2(window)。
window.maxsize(300, 300) #define the maxsize so that the window2 does not get fulllscreen when 'zoomed'
window.mainloop()
def submit() 。
if x.get()==1:
raise_above_all(window2)
else:
print("enter 1")
x = IntVar()
Entry(window1, textvariable=x).pack()
Button(window1, text="Enter", command=submit) .pack()
window2 = Tk()
create_new_window2(window2)
window1.mainloop()
另外,你可以使用window.overrideredirect(True)
uj5u.com熱心網友回復:
你可以使用window.deiconify()來使其取消最小化,并使用你的代碼來使其轉到前面。像這樣:
window.deiconify()
window.attributions('-topmost', 1)
window.attributions('-topmost', 0)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/319466.html
標籤:
上一篇:_tkinter.TclError:wrong#args:shouldbe".!entry4insertindextext"
