Как нарисовать цветной прямоугольник на прозрачном холсте с помощью Python tkinter

#python #tkinter

#python #tkinter

Вопрос:

Я хочу нарисовать цветной прямоугольник на прозрачном холсте, чтобы создать инструмент захвата с помощью python и tkinter.

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

Мне нужен прозрачный холст с непрозрачным прямоугольником на нем.

Спасибо.

Мои шаги…

  1. Нарисуйте прозрачный холст (размер холста на весь экран)
  2. и нарисуйте прямоугольник на холсте
  3. я ожидал, что отображается четкий прямоугольник
  4. но прямоугольник прозрачный, потому что холст был прозрачным
     class Screen(tkinter.Canvas):
        def __init__(self, *args, **kwargs):
            #<create Canvas>
            tkinter.Canvas.__init__(self, *args, **kwargs)  
            self.master.overrideredirect(True)
            self.vw, self.vh =self.GetScreenSize()
            self.config(width=self.vw, height=self.vh, highlightthickness=0, ="black")
            self.master.overrideredirect(True)
            self.master.geometry(" 0 0")
            self.master.lift()
            self.master.wm_attributes("-alpha", 0.3)
            self.master.wm_attributes("-topmost", True)
            #<create Rectangular>
            self.create_rectangle(0,0,100,1000,outline='red', width=5)
     

Ответ №1:

Вы не можете делать то, что хотите, с помощью tkinter. alpha Опция влияет на все окно и все, что на нем нарисовано.