一、新建項目-->其餘項目--->Empty qmake project:只有一個pro程序app
一、新建項目-->其餘項目--->code snapped--->Gui application
函數
二、修改main.cpp:在主窗口上顯示一個按鈕:也就是將按鈕的父窗口設置爲widget[由於QPushButton 繼承QWidget],這樣widget就和button關聯起來了,當widget的show時候會調用button的show。工具
#include <QApplication> #include <QWidget> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget w; QPushButton button; /*按鈕是窗口*/ button.setText("Button"); button.setParent(&w); //窗口對象的父子關係:設置父窗口是button w.show(); w.setWindowTitle("Hello world"); w.show(); return app.exec(); }
若是沒有設置父子關係,那麼這個程序就有兩個主窗口,按鈕窗口和widget窗口沒有關係,單獨顯示:ui
#include <QApplication> #include <QWidget> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget w; QPushButton button; /*按鈕是窗口*/ button.setText("Button"); // button.setParent(&w); //窗口對象的父子關係:設置父窗口是button button.show(); //必須 w.show(); w.setWindowTitle("Hello world"); w.show(); return app.exec(); }
三、添加信號與槽機制code
#include <QApplication> #include <QWidget> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget w; QPushButton button; /*按鈕是窗口*/ button.setText("Button"); button.setParent(&w); //窗口對象的父子關係:設置父窗口是button //添加信號與槽:當clicked()函數被調用,close()也被調用 QObject::connect(&button, SIGNAL(clicked()), &w, SLOT(close())); w.show(); w.setWindowTitle("Hello world"); w.show(); return app.exec(); }
效果是當按鈕被點擊了,窗口就會退出。對象
四、設置button的位置blog
#include <QApplication> #include <QWidget> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget w; QPushButton button; /*按鈕是窗口*/ button.setText("Button"); button.setParent(&w); //窗口對象的父子關係:設置父窗口是button button.setGeometry(30, 30, 100, 30); //座標原點在窗口的左上角[不包括工具欄] //添加信號與槽:當clicked()函數被調用,close()也被調用 QObject::connect(&button, SIGNAL(clicked()), &w, SLOT(close())); w.show(); w.setWindowTitle("Hello world"); w.show(); return app.exec(); }
--繼承