4

我正在构建一个将读取 gcode 文件的应用程序。文件范围从几 KB 到几百 MB(但这种情况很少见)。用户选择一个文件后,程序会遍历它并逐行读取。这根本不需要很长时间。

我想在 QTextEdit 小部件中显示我刚刚读入的文件的文本。不幸的是,这样做需要很长时间(即使是小文件也需要几秒钟)。

我曾考虑为用户添加一条“正在加载,请稍候”消息,但我想知道是否有一种方法可以加快文本加载过程。

现在我的代码如下所示:

 QTextStream in(gcodeFile); //The file path was given by the user
 ui->textEdit->setText(in.readAll());
 in.seek(0);
 processGcode();

有没有更好的方法将大量文本加载到不会使应用程序挂起的 QTextEdit 中?

注意:问题不在于我两次阅读该文件。我更改了我的代码,以便它在将文本添加到 QTextEdit 的同时进行处理,但整个过程仍然花费了太长时间。

4

1 回答 1

2

“QPlainTextEdit 是支持纯文本的高级查看器/编辑器。它经过优化,可处理大型文档并快速响应用户输入。”

您可以从此处查看检查详细信息。

于 2016-09-09T04:58:56.490 回答