Используйте QTextStream для чтения первой строки в строке
Как я могу использовать QTextStream
прочитать первую строку в строке (читать из файла раньше)?
streamin = QTextStream(str)
line = streamin.readLine()
Кажется, этот код не работает.
2 ответа
Решение
Класс 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'
Я собираюсь опубликовать фрагмент кода с сайта документации Qt.
А еще лучше... вот что-то из stackru.
// 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();