【发布时间】:2019-09-25 06:30:09
【问题描述】:
我正在对来自 Qt 应用程序的文本 UI 元素进行一些测试。它有一个特殊的字符。当我尝试使用 Squish 获取文本时,接收到的值类型是 Object。最终目标是对其进行一些操作,例如将其打印出来或与另一个字符串进行比较。去掉特殊字符,只看剩余值也完全没问题。
为了找出我可以用这个值做什么,我尝试了以下方法:
-
value.split('')语法错误:不明确的重载“split(str)”。候选人: QString::split(const QString & sep) QString::split(QChar sep)
-
str(value)UnicodeEncodeError: 'ascii' codec can't encode character u'\xb0' in position 2: ordinal not in range(128)
-
value.encode('utf-8')AttributeError: 对象没有任何属性
-
unicode(value, error='replace')TypeError:强制转换为 Unicode:需要字符串或缓冲区,找到对象
通常在其他情况下,我可以很好地使用 str(),因为没有特殊字符。这是来自 Python 2,升级并不是一个真正的选择,因为它是一个相当大的项目并且需要时间。如果无论如何都可以这样做,请给我一些建议。谢谢。
【问题讨论】:
-
你使用的是什么版本的 Squish?
标签: python python-2.7 qt squish