小编lea*_*ner的帖子

将 while(1) 循环中的文本插入到 QT 中的文本编辑器

我正在尝试将“某些文本”打印到 QTextBrowser,连续“n”次。其中“n”是整数。为此,我使用 QTimer::SingleShot 进行计时。一旦超时被触发,一个 FLAG 被设置为 false 并且这个“FLAG”在 while 循环中被监视以在 FLAG 为 false 时中断,并且它应该插入文本直到 FLAG 被设置为 FALSE。FLAG 的初始值为真。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QThread>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    FLAG = true;

}

void MainWindow::on_pushButton_clicked()
{
    ui->pushButton->setEnabled(false);
   RunTheTimer();
    int counter = 0;

    do
    {
        ui->textBrowser->insertPlainText(QString("Inside While loop %1 \n").arg(counter++));
        counter++;
    }while(FLAG);

    FLAG = true;

}
void MainWindow::RunTheTimer()
{
     ui->textBrowser-> insertPlainText("Timer Started");
    QTimer::singleShot(60000, this, SLOT(Update()));// One Minute

}

void MainWindow::Update()
{
   ui->textBrowser-> insertPlainText("Timeout signal triggered");
    ui->pushButton->setEnabled(true);
   FLAG = …
Run Code Online (Sandbox Code Playgroud)

c++ qt qtextbrowser qtimer

0
推荐指数
1
解决办法
947
查看次数

标签 统计

c++ ×1

qt ×1

qtextbrowser ×1

qtimer ×1