【问题标题】:PyQt4 - QString object has no attribute 'isEmpty''PyQt4 - QString 对象没有属性'isEmpty''
【发布时间】:2023-03-08 01:37:01
【问题描述】:

我正在尝试在 Python 3.4 上使用 PyQt 文件,该文件最初是针对 Python 2.7 的。我没有安装 2.7,但我相信最初的代码可以工作。

我看到的错误出现在从QInputDialog.getItem 返回的strVal 上:

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

【问题讨论】:

标签: python python-2.7 python-3.x pyqt4 qstring


【解决方案1】:

返回类型是一个常规的 python 字符串,而不是 QString,因为在 pyqt4 中实现了“API #2”(也适用于 pyside)。由于空字符串被认为是虚假的,你可以这样做

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-12
  • 1970-01-01
  • 2011-02-27
  • 2019-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多