1
我有一個帶觸摸屏顯示器的手臂板,我想在其中顯示某個函數vcm_test()的輸出。該功能的輸出保存到名爲 test.txt的文件中。現在,我可以讀取文件test.txt的內容,並且僅當它小於50-60行時,纔會顯示在我的qtextEdit中。而我在test.txt中有超過7000行。當我嘗試顯示7000行時,臂板會一直讀數,直到讀數完成後才顯示任何內容。是否有任何方法可以在每行之後閱讀和顯示,或者每10行說出一行。我也想過在readfile中使用qProcess,但我不知道如何做到這一點。需要在qtextEdit實時顯示
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");}
任何建議真的很感激。謝謝。