Разрешение конфликтов с помощью сигналов-слотов нового стиля PyQt - PullRequest
5 голосов
/ 14 февраля 2012

QComboBox имеет два сигнала, оба называются currentIndexChanged; один передает индекс выбранного элемента, а другой передает текст выбранного элемента. Когда я подключаю этот сигнал к своему слоту с чем-то вроде self.myComboBox.currentIndexChanged.connect(self.mySlot), это дает мне индекс. Можно ли использовать сигналы нового стиля, чтобы указать, что я хочу вернуть текст?

Ответы [ 2 ]

8 голосов
/ 14 февраля 2012

См. Второй пример в части подключения сигналов документации.

В вашем случае это будет:

self.myComboBox.currentIndexChanged[QtCore.QString].connect(self.mySlot)

или если вы используете v2 API дляQString

self.myComboBox.currentIndexChanged[str].connect(self.mySlot)
5 голосов
/ 14 февраля 2012

Вы должны указать возвращаемое значение в скобках, если хотите, чтобы значение не по умолчанию было возвращено

self.myComboBox.currentIndexChanged[str].connect(self.mySlot)

def mySlot(self, item):
    self.currentItem = item

см .: http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/new_style_signals_slots.html

...