Как сделать неосязаемое окно на Python tkinter

Рейтинг: 1Ответов: 0Опубликовано: 12.08.2023

Я попытался сделать программу которая будет частично менять цвет экрана в определенной области, и столкнулся с такой проблемой:

Я хотел сделать так что бы эта область была чуть полупрозрачная и через нее можно было выполнять всяческие действия.

И я почти реализовал данную идею но из за того что Tkinter не дает возможности делать виджеты полупрозрачными, а так же через них кликать.

Может быть все и получилось используй я Canvas и полупрозрачную png картинку но из за того что я не могу нажать сквозь виджеты это невозможно.

Вот мой код:

from tkinter import *


root = Tk()
root["bg"] = "black"

X = root.winfo_screenwidth()
Y = root.winfo_screenheight()

c = Canvas(bg="black", highlightthickness=0)
c.pack()

c.create_rectangle(0, 0, 100, 100, fill="red")

root.wm_attributes("-topmost", 1)
root.wm_attributes("-transparentcolor", "black")

root.mainloop()

Так же я пытался найти альтернативу, почти все получилось но видно неприятное мигание да и курсор меняет свой тип!

Если есть какой-то другой способ но поделитесь и помогите пожалуйста

Код:

from tkinter import *


root = Tk()
root["bg"] = "black"


X = root.winfo_screenwidth()
Y = root.winfo_screenheight()

c = Canvas(bg="black", highlightthickness=0)
c.pack()

c.create_rectangle(0, 0, 100, 100, fill="red")

root.wm_attributes("-topmost", 1)
root.wm_attributes("-transparentcolor", "black")

Timer = 0
while 1:
    Timer += 1
    root.geometry(f"{X}x{Y}")
    if Timer > 1:
        root.geometry(f"0x0")
        Timer = 0

    root.update()

Большая просьба помочь, заранее спасибо)

Ответы

Ответов пока нет.