После поиска единственным, не работающим должным образом решением, которое я нашел, было использование wxPython. Вот код:
Код: Выделить всё
import wx
# init
app=wx.App()
dc=wx.ScreenDC()
# set line and fill style
dc.SetBrush(wx.TRANSPARENT_BRUSH)
dc.SetPen(wx.Pen((255, 0, 0), width=3, style=wx.PENSTYLE_SOLID))
# draw (x, y, width, height)
dc.DrawRectangle(100, 100, 200, 100)
Немного лучше (почти достаточно) использовать прозрачное окно TKinter (без заголовка) и отображать его в течение более короткого периода времени. Вот его РАБОЧИЙ код (с одним недостатком, который описан под кодом):
Код: Выделить всё
from tkinter import *
def HighlightSection(Rect=(100,100,300,200), Color = 'red', Duration = 3):
win= Tk()
GeometryString = str(Rect[0])+'x'+str(Rect[1])+'+' \
+str(Rect[2])+'+'+str(Rect[3])
win.geometry(GeometryString) # "200x100+300+250" # breite, höhe, x, y #
win.configure(background=Color)
win.overrideredirect(1)
win.attributes('-alpha', 0.3)
win.wm_attributes('-topmost', 1)
win.after(Duration * 1000, lambda: win.destroy())
win.mainloop()
Есть ли простое и надежное решение для рисования (линий, прямоугольников, текста) на экран и снова снять его через определенный период времени? Любая помощь приветствуется! Заранее спасибо, Ульрих!
Подробнее здесь: https://stackoverflow.com/questions/677 ... ith-python