我正在构建一个将读取 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 的同时进行处理,但整个过程仍然花费了太长时间。