使用QTextStream读取字符串中的第一行

时间:2013-12-05 13:39:08

标签: python qt readline pyqt5 qtextstream

如何使用QTextStream读取字符串中的第一行(之前从文件中读取)?

streamin = QTextStream(str)
line = streamin.readLine()

似乎这段代码不起作用。

2 个答案:

答案 0 :(得分:0)

我基本上会发布Qt Documentation Site的代码片段。

更好的是......这里也有stackoverflow的内容。

// Instead of feeding in stdin, you can feed in QFile - i.e. QIODevice
QFile file("myfile");
// ... open file etc etc
QTextStream stream(&file);
QString line;
line = stream.readLine();

答案 1 :(得分:0)

QTextStream类不直接接受python字符串。对于PyQt5,您必须首先将字符串转换为QByteArray

>>> s = """\
... First Line
... Second Line
... Third Line
... """
>>> ba = QtCore.QByteArray(s.encode('utf-8'))
>>> ts = QtCore.QTextStream(ba)
>>> ts.setCodec('utf-8')
>>> ts.readLine()
'First Line'