5

我正在QTextEdit使用以下代码从对象中获取内容:

QString text=my_QTextEdit.toPlainText();

使用什么QTextEdit编码,在QString我从toPlainText()通话中返回时使用什么编码?

谢谢。

4

2 回答 2

3

QTextEdit.toPlainText()返回一个QString对象,它始终是一个unicode字符串(参见文档)。

该类QString提供函数和toLatin1(),它们允许您将字符串从 unicode 转换为可以进一步处理的 8 位字符串。所以 Qt 会为你处理字符串的编码和解码。toAscii()toUtf8()

如果你想从一个给定的字节串创建一个 QString 实例,你可以使用函数fromAscii(),fromLatin1()fromUtf8().

于 2013-08-26T19:26:14.887 回答
1

Qt 中的所有控件都启用了 16 位字符。这意味着 a 的内容QTextEdit是 Unicode(或 UTF-32/UCS-4)(另见http://developer.nokia.com/Community/Discussion/showthread.php/215203-how-to-correctly-display-Unicodes -in-QPlainTextEdit)。
当获取QTextEdit控件的内容时(通过plainText()),你会得到一个QString包含 Unicode 的内容。
从那里开始,您可以根据需要转换为其他格式:toUTF8(), toUCS4(), ...

于 2013-08-27T10:23:45.460 回答