1 #include "test1.h" 2 #include <QtGui/QApplication> 3 #include <QtGui/QtGui> 4 #include <QtGui/QWidget> 5 6 7 8 9 int main(int argc, char *argv[]) 10 { 11 QApplication a(argc, argv); 12 13 QWidget* pWidget=new QWidget;//定義一個父窗體 14 QLabel label(pWidget);//添加以個lable控件 ,並指定父窗口為pWidget 15 label.setText("Hello World");//給lable控件賦值 16 QPushButton* btn=new QPushButton("close",pWidget);//創建一個按鈕控件,Value為"close",父窗體為pWidget 17 QVBoxLayout* layout=new QVBoxLayout;//創建一個垂直布局管理器 18 layout->addWidget(&label);//把lable放置在垂直布局管理器中(放置的順序是按代碼的添加順序來排的) 19 layout->addWidget(btn);//同上, 將按鈕添加進去,放在lable的下面 20 pWidget->setLayout(layout);//將垂直管理器添加到窗體中 21 QObject::connect(btn,SIGNAL(clicked()),pWidget,SLOT(close()));//QObject::connect()將"關閉"按鈕btn的clicked()的信號同窗體pWidget的close()槽關聯起來。 22 pWidget->show();//顯示窗體 23 24 25 /* 26 QObject::connect(btn,SIGNAL(clicked()),pWidget,SLOT(close())); 詳細注解 27 在QObject::connect()函數中,實參btn是發信號的源對象指針,實參btn是發信號的源指針,實參pWidget是接收信號的目標對象指針; 28 close()信號和close()槽已經分別由Q他和QPushButton類和QWidget類定義了;SIGNAL和SLOT是Qt定義的兩個宏 29 */ 30 31 /*test1 w; 32 w.show();*/ 33 return a.exec(); 34 }