2011-10-28 33 views
0

我已经创建了一个qt GUI来执行一些检出任务,并在标签中显示结果。我使用QT创建器,这会创建标题和mainwindow.cpp程序。所以我的问题是我已经在头文件中声明了更多的方法来完成一些任务,并且结果更新了一个标签,但是我使用while循环和我的GUI永远不会启动的问题。我试图以顺序方式运行(没有循环),这个工作,但只调用拉斯维加斯函数,程序不遵循序列(例如试图ping到服务器)。如何在创建qt应用程序时使用ui类

下面是一个类似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() 
{ 
} 

任何想法,请让我知道。我真的很新。

谢谢

回答

1

当你做这样的循环时,你正在冻结整个应用程序。相反,您应该使用QTimer并使用timeout()信号更新标签。

+0

好的我做的,但问题是,我使用2个计时器,当我使用它们时,只有其中一个更新,它是最后一个。 GUI不显示第一个计时器的状态。为什么?? – user1013213

+0

你能发布你的代码吗? –

相关问题