PyQt Qstring not accepted when script run from WIndows command line, why?
在x64机器上使用PyQt 4,Python 2.7,Windows7。
我一直在使用带有PyQt4的Python控制台开发一些代码,并将字符串从QLineEdit()小部件传递到OS命令,而没有使用
时出现问题,但是当我尝试在Windows中从命令行运行时,出现以下错误,
TypeError: sequence item 0: expected string, QString found
我通过通过
我不确定为什么会发生这种情况(假设您只是使用标准的Python控制台),但是可以配置PyQt方法以返回python字符串而不是
因此,PyQt文档介绍了如何使用
1 2 | import sip sip.setapi('QString', 2) |
如果在Python脚本中执行此操作,则控制台和命令行之间应具有相同的行为。
也可以执行禁用
我认为发生此问题是因为命令行参数实际上是字节数组而不是字符串,字符串是用Unicode编码的,而字节数组不是。调用