是否有辦法讓Tkinter窗口在觸摸屏幕時能夠與屏幕對齊,就像Skype將其拖到角落時的工作方式一樣。我想嘗試並在未來的項目中選擇關閉它。Python Tkinter Screen Snap
編輯:我決定最好包括一些圖片來展示我的意思。 Skype
在Paint.Net中可能會出現同樣的「stick」。 Paint.Net
是否有辦法讓Tkinter窗口在觸摸屏幕時能夠與屏幕對齊,就像Skype將其拖到角落時的工作方式一樣。我想嘗試並在未來的項目中選擇關閉它。Python Tkinter Screen Snap
編輯:我決定最好包括一些圖片來展示我的意思。 Skype
在Paint.Net中可能會出現同樣的「stick」。 Paint.Net
root = Tk()
width = root.winfo_screenwidth()
height = root.winfo_screenheight()
root.geometry("%dx%d" % (width, height))
做你嘗試添加這對你的代碼?
我的意思是如何,當它接觸到外部屏幕的任何部分,我有點... 連接到它。
我用它在我的代碼和它的作品只是你提到
我認爲OP希望在窗口被拖動時發生這種情況,不一定在啓動時發生。 –
@BryanOakley謝謝你的洞察力。我看到OP還沒有提到它。 – Dhruvify
@DhruvJ不幸的是,我並不意味着它會延伸到屏幕尺寸。感謝您花時間提問,但我的意思是,當它稍微接觸屏幕時,它會附着在屏幕的邊緣(不適合屏幕大小的一半)。 – PotatoBeenCrafted
什麼你需要做的是創建根窗口爲<Configure>
事件上結合的方式。當根窗口以某種方式更改時(包括窗口移動時),此事件觸發。當用戶拖動窗口時,該事件將多次觸發。當用戶調整窗口大小時,它也會觸發FWIW。
在綁定中,您可以確定窗口的當前位置,並且還可以獲取屏幕尺寸。然後將窗口位置與屏幕尺寸進行比較以確定窗口是否應該「捕捉」。
如果窗口應該「捕捉」,您可以使用after
來安排窗口在短暫延遲之後移動(以便它不會立即捕捉,以防用戶將其移動到邊緣並且然後將其移回)。然後,您可以在根窗口上使用geometry
方法將其放在邊緣,並/或調整其大小以填充顯示器的相應側。
謝謝你的時間。下次我正在做一些編碼時,我會去看看。感謝不只是給我的代碼c: – PotatoBeenCrafted
您可以更具體地瞭解您想要實現的行爲嗎?什麼是「觸碰屏幕時觸及」的意思?我只是嘗試使用Skype,它的行爲就像一個普通的應用程序。 (在OSX上) –
對我來說,窗口按照與任何普通窗口相同的方式進行管理,除非它們被設置爲使用'root.resizable(False,False)'不可調整大小'。 – Siwel
@Siwel我的意思是當它接觸到外屏的任何部分時,我有點......連接到它。我想在我的程序中實現這一點。我真的不知道我怎麼能更好地解釋它......因爲我不知道它叫什麼。 – PotatoBeenCrafted