Как использовать QTextStream
для чтения первой строки в строке (прочитанной из файла раньше)?Использовать QTextStream для чтения первой строки в строке
streamin = QTextStream(str)
line = streamin.readLine()
Кажется, что этот код не работает.
Как использовать QTextStream
для чтения первой строки в строке (прочитанной из файла раньше)?Использовать QTextStream для чтения первой строки в строке
streamin = QTextStream(str)
line = streamin.readLine()
Кажется, что этот код не работает.
Класс 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'
принятые ответные доказательства, что вы должны написать, что 'str' является строкой python. В любом случае, этот ответ немного сложный, [см. Эту страницу] (http://www.commandprompt.com/community/pyqt/x2068). Поэтому, чтобы исправить ваш код, этого должно быть достаточно: 'streamin = QTextStream (QString (str))' –
@MarekR. Вы пропустили, что OP использует PyQt5. В PyQt5 нет QString, поэтому только QIODevice или QByteArray можно передать конструктору QTextStream. Конечно, ваше предложение будет работать с PyQt4. Лично я бы избегал всех осложнений и использовал модуль python [io] (http://docs.python.org/3/library/io.html#) для такого рода вещей. – ekhumoro
Я в основном собираюсь опубликовать фрагмент кода из 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();
Это хорошо, но я хочу получить первую строку из строки, а не файла. – WangTao
добавить контекст (более код), вы не встретите здесь оракул, который в состоянии сказать, что вы сделали неправильно. –
Опять же, как предложил Марек, исправьте свой синтаксис и опубликуйте реальный код. – Huy