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