查看完整版本: [-- QTextedit如何逐行读取? --]

QTCN开发网 -> Qt基础编程 -> QTextedit如何逐行读取? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

mugua001 2020-06-22 18:11

QTextedit如何逐行读取?

目前用的方法是  QStringList txtList = ui->Qtxt->toPlainText().split("\n");
感觉多一道QStringList 工序,有没有 直接可以读的方法 ?

20091001753 2020-06-22 19:47
  1. for(auto var:ui->plainTextEdit->toPlainText().split("\n")){
        //
    }


lemonzll 2020-06-22 22:18
  1. auto block = edit->document()->firstBlock();
    while (block.isValid()) {
             qDebug() << block.text();
             block = block.next();
    }



liulin188 2020-06-23 13:44
    

mugua001 2020-06-24 21:54
20091001753:for(auto var:ui->plainTextEdit->toPlainText().split("\n")){
    //
}
 (2020-06-22 19:47) 

我用的就是这方法,感觉多了一道工序

mugua001 2020-06-24 21:56
lemonzll:auto block = edit->document()->firstBlock();
while (block.isValid()) {
         qDebug() << block.text();
         block = block.next();
}
....... (2020-06-22 22:18) 

block.text()   是以  回车符为标记么?

lemonzll 2020-06-24 22:13
mugua001:block.text()   是以  回车符为标记么? (2020-06-24 21:56) 

QTextEdit能显示普通文本,也能显示html。如果用来显示普通文本,block应该就是按行的,我测试过是这个逻辑。如果是html,就不一定了。

mugua001 2020-06-25 00:37
lemonzll:QTextEdit能显示普通文本,也能显示html。如果用来显示普通文本,block应该就是按行的,我测试过是这个逻辑。如果是html,就不一定了。 (2020-06-24 22:13) 

我晚上测试了一下。居然没有  text()方法 。我链接到QT官网帮助文档也说有...我这就是出不来...是人品么?

QTextBlock  qtTxtBlock01 = ui->text->document()->firstblock();
QString   str01 =  qtTxtBlock01.text();   //此处错误

最后还是用QStringList来完成;



levon 2020-07-01 11:09
mugua001:我晚上测试了一下。居然没有  text()方法 。我链接到QT官网帮助文档也说有...我这就是出不来...是人品么?
QTextBlock  qtTxtBlock01 = ui->text->document()->firstblock();
QString   str01 =  qtTxtBlock01.text(); & .. (2020-06-25 00:37) 

#include <QTextBlock> 了?

levon 2020-07-01 11:14
如果textedit 是设置为可折行的,如果行文本超长,这时候一个block 就包含多行;

mugua001 2020-07-14 09:24
levon:如果textedit 是设置为可折行的,如果行文本超长,这时候一个block 就包含多行; (2020-07-01 11:14) 

这么说来,还是按‘\n'来计算,是比较保险的了。
谢谢


查看完整版本: [-- QTextedit如何逐行读取? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled