PyQt4 - объект QString не имеет атрибута 'isEmpty''

Я пытаюсь использовать файл PyQt на Python 3.4, который изначально был предназначен для Python 2.7. У меня не установлен 2.7, но я верю, что изначально код работал.

Я вижу ошибку на strVal вернулся из QInputDialog.getItem:

import  random, sys, queue, serial, glob, os, csv, time
import  PyQt4.Qwt5     as Qwt
from    PyQt4.QtCore   import *  
from    PyQt4.QtGui    import *

...

strVal , ok = QInputDialog.getItem(self, 'Select a port',
    'Serial port:', ports, 0, False)

if ok and not strVal.isEmpty():
    self.portname.setText(strVal)            

Из документации, QInputDialog.getItem должен вернуть QString (не просто строка), а QString объекты имеют атрибут .isEmpty(),

Так как я не получаю .isEmpty() атрибут, это как-то не импортирует QString?

1 ответ

Тип возвращаемого значения - обычная строка Python, а не QString, поскольку реализация "API #2" в pyqt4 (также для pyside). Поскольку пустая строка считается ложной, вы можете сделать

 if ok and strVal:
      self.portname.setText(strVal)         
Другие вопросы по тегам