我正在尝试在Python 3.4上使用PyQt文件,该文件最初针对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()
。由于我没有no
.isEmpty()
属性,因此是否不导入QString
? 最佳答案
返回类型是常规python字符串,而不是QString,因为pyqt4中也实现了“ API#2”(也适用于pyside)。由于空字符串被认为是虚假的,因此您可以
if ok and strVal:
self.portname.setText(strVal)