Bir qt uygulaması oluşturduğumda kullanıcı arabirimi nasıl kullanılır?

Bazı kontrol görevlerini yapmak için bir qt GUI oluşturdum ve bu da sonuçları etiketlerde gösteriyor. QT yaratıcısını kullanıyorum ve bu başlık ve mainwindow.cpp programını oluşturur. Bu yüzden benim problemim, bazı görevleri yapmak için başlığa daha fazla yöntem eklediğimi ve sonuçların bir etiketi güncellediğimi ancak döngü sırasında kullandığım problemi ve GUI'imin asla başlamaması. Sıralı bir şekilde (döngü olmadan) çalışmayı denedim ve bu sadece las işlevini çağırıyor ve program diziyi takip etmiyor (örneğin, sunucuya ping yapmaya çalışıyor).

Aşağıda, sahip olduğum benzer bir mianwindow.cpp programıdır.

#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()
{
}

Herhangi bir fikir lütfen bana bildirin. Bu konuda gerçekten yeniyim.

teşekkür ederim

0

1 cevap

Böyle bir döngü yaparken tüm uygulamayı donduruyorsunuz. Bunun yerine, bir QTimer kullanmalı ve timeout'u kullanarak etiketi güncellemelisiniz.() sinyali.

1
katma
Kodunuzu gönderir misiniz?
katma yazar this.lau_, kaynak
Tamam yaptım ama sorun 2 zamanlayıcı kullanıyorum ve bunları kullandığımda sadece bunlardan biri güncellenir ve sonuncusu. GUI, ilk zamanlayıcının durumunu göstermiyor. niye ya??
katma yazar user1013213, kaynak