Есть ли способ прочитать строку из файла и получить паузу на несколько секунд, во время паузы функция проверяет, вводит ли пользователь одно и то же слово или нет? - PullRequest
0 голосов
/ 11 июня 2019

Я работаю над созданием проекта по репетиторству.Я не могу прочитать конкретную строку из файла и разрешить пользователю вводить слово.так как я могу это исправить ??

void MainWindow::on_pushButton_clicked()
{
 QFile file("D:/programs/QT/file_handle/file.txt");
 if(!file.open(QFile::ReadOnly | QFile::Text))
     QMessageBox::warning(this,"title","file not open");

  QTextStream  in(&file);
  while(!in.atEnd()){
     line=in.readLine();
     ui->textBrowser->setPlainText(line);


  }


   file.close();
}

void MainWindow::on_pushButton_2_clicked()
{
QString str=ui->textEdit->toPlainText();

 if(line==str)
    ui->label->setText("they are same");
 else
    ui->label->setText("they are not same");
}

Я ожидаю приостановить и передать управление textEdit, где пользователь вводит слово после прочтения первой строки.но фактический вывод появляется с чтением последней строки файла

1 Ответ

0 голосов
/ 11 июня 2019

Вам нужно будет сделать это асинхронно.

Неважно, читаете ли вы весь файл в буфер / список или оставляете файл открытым.

  • Вынеобходимо сделать file (или буфер / список) членом MainWindow.
  • В on_pushButton_clicked() вам нужно будет только прочитать первую / следующую строку и отобразить ее.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...