[英]How to make a tkinter window Fullscreen on all Displays?
我正在開發一個程序,該程序的窗口需要在所有插入式監視器和/或外部顯示器上全屏顯示。 有什么辦法可以在 Tkinter 中做到這一點,還是必須使用不同的庫? 到目前為止,我已經設法在我的主顯示器上獲得全屏窗口,但我在其他顯示器上也需要它。 到目前為止,這是我的代碼:
def create_screencanvas():
global master_screen
master_screen = Toplevel(mywindow)
picture_frame = Frame(master_screen, background = "blue")
picture_frame.pack(fill=BOTH, expand=YES)
global screenCanvas
screenCanvas = Canvas(picture_frame, cursor="cross", bg="grey5")
screenCanvas.pack(fill=BOTH, expand=YES)
master_screen.attributes('-fullscreen', True)#Fullscreen on main display but not others
master_screen.attributes('-alpha', .3)
master_screen.lift()
master_screen.attributes("-topmost", True)
mywindow = Tk()
mywindow.title("New Project")
mywindow.geometry("780x640")
mywindow.minsize(540, 420)
mywindow.configure(bg="blue")
mybtn = Button(text="activate", command=create_screencanvas, cursor="cross")
mybtn.pack() #Button opens the fullscrean window
mywindow.mainloop()
出於截屏的目的,您可以通過手動更改其幾何形狀而不是使其全屏來使您的Toplevel
窗口覆蓋所有顯示。 所以,刪除
master_screen.attributes('-fullscreen', True)
並將其替換為
w = master_screen.winfo_screenwidth()
h = master_screen.winfo_screenheight()
master_screen.geometry(f"{w}x{h}+0+0")
但是,您的窗口現在有不需要的裝飾。 根據您使用的操作系統,您可以使用
master_screen.overrideredirect(True)
或者,如果您使用的是 Linux(在這種情況下, overrideredirect
可能不允許您具有窗口透明度),
master_screen.attributes('-type', 'dock')
在這兩種情況下,您不再需要
master_screen.attributes("-topmost", True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.