Как изменить цвет прямоугольника, который я уже нарисовал в Python3 Kivy?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как изменить цвет прямоугольника, который я уже нарисовал в Python3 Kivy?

Сообщение Anonymous »

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

Код: Выделить всё

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Rectangle, Color

class CanvasWidget(Widget):

def __init__(self, **kwargs):
super(CanvasWidget, self).__init__(**kwargs)
self.click_occured = False
with self.canvas:
Color(0, 1, 0)
self.background = Rectangle(pos=self.pos, size=self.size)
Color(1, 1, 1)
self.rect1 = Rectangle(pos=self.pos, size=(self.width/2, self.height/2))
Color(0, 0, 1)
self.rect2 = Rectangle(pos=self.pos, size=(self.width/4, self.height/4))
self.bind(pos = self.update_rect, size = self.update_rect)

def update_rect(self, *args):
self.background.pos = self.pos
self.background.size = self.size
if not self.click_occured:
self.rect1.pos = self.pos
else:
self.rect1.pos = self.x + self.width/8, self.y + self.height/8
self.rect1.size = (self.width/2, self.height/2)
self.rect2.pos = self.pos
self.rect2.size = (self.width/4, self.height/4)

def on_touch_down(self, touch):
self.click_occured = True
self.rect1.pos = self.x + self.width/8, self.y + self.height/8
#also, change rect1's color from white to red

class CanvasApp(App):
def build(self):
return CanvasWidget()
CanvasApp().run()
Вместо комментария в конце метода on_touch_down я хотел бы изменить цвет rect1 на красный. Это должно быть изменение существующего прямоугольника, а не создание нового, поскольку я хочу, чтобы он оставался позади rect2, и я не хочу перерисовывать последний вручную.
Если возможно, я хотелось бы добиться этого без использования языка kv, поскольку я хочу иметь возможность создавать прямоугольники, метки и т. д. на лету во время выполнения кода, а с языком kv это кажется неудобным.


Подробнее здесь: https://stackoverflow.com/questions/790 ... thon3-kivy
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как изменить цвет прямоугольника, который я уже нарисовал в Python3 Kivy?
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как изменить значок погоды с json на значок погоды, я нарисовал
    Anonymous » » в форуме Html
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как установить Python3.12 в POP!_OS Flatpak VSCodium и изменить версию интерпретатора Python на Python3.12?
    Anonymous » » в форуме Python
    0 Ответы
    57 Просмотры
    Последнее сообщение Anonymous
  • Как нарисовать текст в Android так, как я нарисовал его в WinForms?
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как нарисовать текст в Android так, как я нарисовал его в WinForms?
    Anonymous » » в форуме Android
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»