簡體   English   中英

使 tkinter 窗口繪制在全屏應用程序之上

[英]Make tkinter window draw on top of fullscreen applications

我想知道是否有辦法在全屏應用程序上繪制 tkinter 窗口,到目前為止我有這個:

from tkinter import *

#MAIN WINDOW
root = Tk()
root.title('Test Title')
root.geometry("500x200")
root.wm_attributes('-transparentcolor', root['bg'])
root.wm_attributes("-topmost", 1)


my_frame = Frame(root, width=500, height=200)
my_frame.pack(pady=20, ipady=20, ipadx=20)

#STAT TEXT
my_label = Label(my_frame, font=("Helvetica", 40), fg="#09d2f6")
my_label.config(text="TEST TEXT")
my_label.pack(pady=20)


root.mainloop()

這會在所有應用程序的頂部繪制窗口,但不是全屏應用程序。 我有一個循環的想法,它會不斷地將窗口向前推進,但不知道如何做到這一點。

此代碼將使您能夠選擇要在全屏上查看的圖片。

您的代碼將在其上方以透明模式運行 - 沒問題

按退出鍵退出

嘗試使用標題按鈕使您的小部件全屏顯示奇怪的效果!

由於文件filedialog對結果的影響,不得不編輯它。

移動了屬性設置,以便在加載圖像后調用它。

import os
import tkinter as tk
from tkinter import filedialog

def closer( ev ):
    ev.widget.destroy()

# FULL SCREEN
master = tk.Tk()
master.rowconfigure( 0, weight = 1 )
master.columnconfigure( 0, weight = 1 )

master.bind( "<Escape>", closer )

pathfile = filedialog.askopenfilename( title = 'pick mage' )

my_image = tk.PhotoImage( file = pathfile ).zoom( 2,2 )
label = tk.Label( master, text = 'Image', compound = "top", image = my_image )
label.grid(row=0, column=0,sticky='nsew')

master.wm_attributes("-fullscreen", 1)
# removed for first time use - unrem this for second time
# master.wm_attributes("-topmost", 1)

# Your code

root = tk.Tk()
root.title('Test Title')
root.geometry("500x200")

root.bind( "<Escape>", closer )

root.wm_attributes('-transparentcolor', root['bg'])
root.wm_attributes("-topmost", 1)

my_frame = tk.Frame(root, width=500, height=200)
my_frame.pack(pady=20, ipady=20, ipadx=20)

#STAT TEXT
my_label = tk.Label(my_frame, font=("Helvetica", 40), fg="#09d2f6")
my_label.config(text="TEST TEXT")
my_label.pack(pady=20)

master.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM