Как я могу узнать в PyQt, какой QPixmap я использую в настоящее время (какое изображение) - PullRequest
0 голосов
/ 12 июня 2019

У меня есть скрипт, который использует 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 используется в настоящее время?Извините, не могу предоставить много кода, он был бы слишком большим, и никто бы его не прочитал.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...