Як використовувати клас ui, коли я створюю додаток qt

Я створив qt GUI для виконання деяких перевірених завдань, і це показує результати в етикетках. Я використовую QT creator, і це створює програму header and mainwindow.cpp. Отже, моя проблема полягає в тому, що я оголосив більше в заголовку методів, щоб виконати певне завдання, і з результатами оновлювати мітку, але у мене є проблема, яку я використовую під час циклу, і мій GUI ніколи не починається. Я намагався запустити послідовно (без циклу), і це працює, але викликає лише функцію las, і програма не виконує послідовність (наприклад, намагається зробити пінг на сервер).

Нижче наведено аналогічну програму mianwindow.cpp, яку я маю,

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
while(1)
{
    ping2server()
    if(ping2server>0)
            ui->label->setText("The server is alive");
    else
            break;

}
/*the server is dead connecting to other one*/
.
.
//and so on

}

MainWindow::~MainWindow()
{
delete ui;
}

int MainWindow::png2server()
{

}
int MainWindow::conn2server()
{
}

Будь-які ідеї, будь ласка, дайте мені знати. Я дійсно новий у цьому.

Дякую

0

1 Відповіді

Ви заморожуєте всю програму, коли ви робите цикл подібним чином. Замість цього ви повинні використовувати QTimer і оновити етикетку, використовуючи тайм-аут () .

1
додано
Не могли б ви опублікувати свій код?
додано Автор this.lau_, джерело
Гаразд я зробив але проблема полягає в тому, що я використовую 2 таймери, і коли я використовую їх, лише один з них оновлюється, і це останній. Графічний інтерфейс користувача не відображає статус першого таймера. чому ??
додано Автор user1013213, джерело