Серьезно? Вы никогда не пользовались
where (t.MyTableId == 1 || t.MyTableId == 2 || t.MyTableId == 3)
Вы можете преобразовать тип QString в строку python, просто используя функцию str
. Предполагая, что вы не используете символы Юникода, вы можете получить строку python, как показано ниже:
text = str(combobox1.currentText())
Если вы используете любые символы в Юникоде, вы можете сделать:
text = unicode(combobox1.currentText())
Получение текста ComboBox при изменении элемента
self.ui.comboBox.activated.connect(self.pass_Net_Adap)
def pass_Net_Adap(self):
print str(self.ui.comboBox.currentText())
PyQt4 может быть принудительно использовать новый API, в котором QString автоматически преобразуется в объект Python и из него:
import sip
sip.setapi('QString', 2)
С помощью этого API класс QtCore.QString
больше недоступен, а self.ui.comboBox.currentText()
вернет строку Python или unicode.
См. Выбор несовместимых API из документа.
Если вам нужно текстовое значение объекта QString, вы можете использовать свойство __str__
, например:
>>> a = QtCore.QString("Happy Happy, Joy Joy!")
>>> a
PyQt4.QtCore.QString(u'Happy Happy, Joy Joy!')
>>> a.__str__()
u'Happy Happy, Joy Joy!'
Надеюсь, что это поможет.