我有一个带有触摸屏显示器的臂板,我想在其中显示某个函数 vcm_test() 的输出。此函数的输出保存到名为 test.txt的文件中。现在,我可以读取文件test.txt的内容,并且仅当它少于 50-60 行时才将其显示在我的qtextEdit中。而我在test.txt中有超过 7000 行。当我尝试显示 7000 行时,臂板一直在读取,并且在读取完成之前什么都不显示。有没有办法在每行之后阅读和显示,或者每 10 行说一次。我也想过在 readfile 中使用 qProcess,但我不知道该怎么做。
connect(ui->readfil, SIGNAL(clicked()), SLOT(readfile()));
connect(ui->VCMon, SIGNAL(clicked()), SLOT(vcm_test()));
connect(ui->Offloaderon, SIGNAL(clicked()), SLOT(offloader_test()));
connect(ui->quitVCM, SIGNAL(clicked()),vcmprocess, SLOT(kill()));
connect(ui->quitoffloader, SIGNAL(clicked()),offloaderprocess, SLOT(kill()));}
MainWindow::~MainWindow(){
delete ui;}
void MainWindow::readfile(){
QString filename="/ftest/test.txt";
QFile file(filename);
if(!file.exists()){
qDebug() << "NO file exists "<<filename;}
else{
qDebug() << filename<<" found...";}
QString line;
ui->textEdit->clear();
if (file.open(QIODevice::ReadOnly | QIODevice::Text)){
QTextStream stream(&file);
while (!stream.atEnd()){
line = stream.readLine();
ui->textEdit->setText(ui->textEdit->toPlainText()+line+"\n");
qDebug() << "line: "<<line;}
}
file.close();}
void MainWindow::vcm_test(){
vcmprocess->start("/ftest/vcm_test_2");}
void MainWindow::offloader_test(){
offloaderprocess->start("/ftest/off_test_2");}
任何建议都非常感谢。谢谢。