2015-08-24 2 views
1

Я новичок в GUI, и я стараюсь, чтобы выбор пользователя в combobox менял результат моей программы.Как использовать выбор QCombobox в цикле if?

Вот мой выпадающий:

self.popupItems1 = ("Option 1","Option 2") 
self.popup1 = QtGui.QComboBox(self) 
self.popup1.addItems(self.popupItems1) 
self.popup1.setCurrentIndex(self.popupItems1.index("Option 1")) 
self.popup1.move(10, 220) 

Я сделал довольно много исследований, но я не могу показаться, чтобы выяснить это, я предполагаю, что я должен использовать что-то вроде этого?

if self.popupItems1 == 'Option 1': 
    do_something() 
else: 
    do_something_else() 

Заранее благодарю за помощь!

+0

Если вам нужна программа, чтобы сделать что-то сразу после того, как пользователь выбирает выбор в выпадающем списке, вам нужно использовать сигнал и слоты. Если вы хотите обработать выбор позже, например, когда пользователь нажмет кнопку «ОК», тогда ответ ниже будет работать. – Mel

ответ

1

Чтобы получить выделенный текст в QComboBox, используйте метод currentText(), и если вы хотите получить индекс, используйте метод currentIndex().

Например, если ваш QComboBox ссылается self.popup1 то, чтобы получить выделенный текст использования:

text = self.popup1.currentText() 

Вы также можете получить индекс, используя другой метод.

Что вы ищете может быть это:

if self.popup1.currentIndex() == 0 : # The first option 
    do_something() 
else : # Any other option 
    do_something_else() 

Для получения дополнительной информации проверить the documentation of QComboBox.