PyQt4: Могу ли я перехватить сигнал currentIndexChanged QComboBox? - PullRequest
0 голосов
/ 18 января 2012

Я создаю пользовательский интерфейс, состоящий из QComboBox и QGraphicsScene и его QGraphicsItems.

Когда я изменяю индекс QComboBox, обновляю QGraphicsScene, чтобы он был установлен по умолчанию.Чтобы решить эту проблему, я сохраняю информацию о геометрии узла.Это работает хорошо.

В настоящее время я хочу определить, что элементы QGraphicsItem изменены, а их геоинформация не сохраняется.Итак, пользовательский интерфейс уведомляет пользователя о том, что он или она должен хранить их.

Я хочу, чтобы это происходило при изменении QComboBox, и для этого мне нужно перехватить сигнал currentIndexChanged.Это означает, что перед тем, как QComboBox изменит индекс на самом деле, он прочитает флаг и сделает что-то для пользователя, чтобы не пропустить возвращенную к предыдущему индексу геоинформацию QComboBox.

1 Ответ

1 голос
/ 18 января 2012

Ваш вопрос немного сложен для понимания.

Хотите знать предыдущий индекс до того, как текущий индекс изменится?Если это так, то сохраните запись предыдущего индекса:

def __init__(self):
    self._previous_index = -1

def handleCurrentIndexChanged(self, index):
    # do stuff with previous_index (if valid)
    ...
    self._previous_index = index
...