У меня есть скрипт, который использует QGraphicsPixmapItem (картинки) в качестве кнопки.Таким образом, идея заключается в том, что когда человек нажимает один раз, он становится одним цветом, при повторном нажатии он «отменяет выбор» и возвращается к нормальному (по умолчанию) цвету.Я добиваюсь такого поведения, помещая в один словарный путь «изображения кнопок по умолчанию» и «изображения нажатых кнопок», и каждый раз, когда человек нажимает на кнопку, я меняю растровое изображение (QGraphicsPixmapItem.setPixmap).Мне было интересно, как я могу узнать текущее состояние кнопки (она нажата или по умолчанию).Я пытался сделать что-то вроде этого:
class GraphicsButton(QGraphicsPixmapItem):
def __init__(self, name, path, pixmap, parent=None):
super(GraphicsButton, self).__init__(pixmap, parent)
self._name = name
self._path = path
@property
def name(self):
return self._name
@property
def path(self):
return self._path
Идея состояла в том, чтобы получить «путь» или «имя», но потом я понял, что сам класс я вызываю только один раз, и после этого я просто устанавливаюдругая QPixmap, имя и путь уже не меняются внутри класса.В конце концов, я мог подумать, что каждый раз, когда кто-то нажимает кнопку, она удаляет старую кнопку и создает новую (или переключает видимость), поэтому путь и имя будут отличаться в зависимости от того, что отображается.
Спасибо за долгое чтение, наконец, вот мой вопрос: есть ли способ отследить, какое растровое изображение QGraphicsPixmapItem используется в настоящее время?Извините, не могу предоставить много кода, он был бы слишком большим, и никто бы его не прочитал.Спасибо.