'QString' object has no attribute 'toStdString' 6C

使用PyQt4编个小程序,从控件中读出的是QString类型的,想把它转换成string类型,按照网上的方法代码如下:

    qword = self.SearchText.toPlainText()
    print help(qword)
    word = qword.toStdString()
    result = GetTranslate(word)
#       QString qresult = QString::fromStdString(result)
    self.ResultText.setText()

使用help确定读出的是QString类型,但是help结果中并没有toStdString()方法

toAscii(...)
QString.toAscii() -> QByteArray

toCaseFolded(...)
QString.toCaseFolded() -> QString

toDouble(...)
QString.toDouble() -> (float, bool)

toFloat(...)
QString.toFloat() -> (float, bool)

toInt(...)
QString.toInt(int base=10) -> (int, bool)

toLatin1(...)
QString.toLatin1() -> QByteArray

toLocal8Bit(...)
QString.toLocal8Bit() -> QByteArray

toLong(...)
QString.toLong(int base=10) -> (int, bool)

toLongLong(...)
QString.toLongLong(int base=10) -> (int, bool)

toLower(...)
QString.toLower() -> QString

toShort(...)
QString.toShort(int base=10) -> (int, bool)

toUInt(...)
QString.toUInt(int base=10) -> (int, bool)

toULong(...)
QString.toULong(int base=10) -> (int, bool)

toULongLong(...)
QString.toULongLong(int base=10) -> (int, bool)

toUShort(...)
QString.toUShort(int base=10) -> (int, bool)

toUpper(...)
QString.toUpper() -> QString

toUtf8(...)
QString.toUtf8() -> QByteArray

trimmed(...)
QString.trimmed() -> QString

truncate(...)
QString.truncate(int)

使用的环境是PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7 和 Python2.7
这种问题该如何解决,或者是否有其他方法将QString转换成string?
十分感谢!

2个回答

toUtf8() toAscii 都可以

你用的是PyQt,本身就没有std::string 这个数据类型,当然无法转换。 如果你是想转成python string 的话,直接

 word  = str(qward)

就可以了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问