/*******************************************************************************************/
一、qt介紹
Qt是一個跨平台的C++圖形用戶界面應用程序框架。它也是目前流行的Linux桌面環境KDE的基礎
Qt5.3正式版,至此Qt實現了對iOS、Android、WP等各平台的全面支持
支持的平台
Windows – XP、Vista、Win7、Win8、Win2008、Win10
Uinux/X11 – Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/OS、和其他很多X11平台
Macintosh – Mac OS X
Embedded – 有幀緩沖支持的嵌入式Linux平台,Windows CE
控件,部件,構件指的都是一個東西,只是叫法不同
信號和槽(信號的處理函數)
/*******************************************************************************************/
二、qt優點
qt最大的優點就是跨平台,(只要裝了qt),無論在win,linux,android,ios都可以運行。
qt的學習都是調用一些封裝好的api
查看api可以使用 qt幫助文檔
/*******************************************************************************************/
三、qt應用程序框架
1.創建QT項目
qt項目路徑不要有中文,項目名稱也不要有中文
剛開始 創建界面 那個不要勾選,后面需要用到ui界面設計的時候才勾選。
同時,注意:
QMainWindow pc上用的,也就是帶菜單欄的那種界面
QWidget 各種控件的基類,用的最多的
QDialog 對話框
編譯並運行的快捷鍵 ctrl+r
2.項目創建后,自動生成QApplication應用程序類的說明
//QApplication應用程序類
//Qt頭文件沒有.h
//頭文件和類名一樣,並且基本都是Q開頭,並且跟着的字母大寫
#include <QApplication>
int main(int argc, char *argv[])
{
//有且只有一個應用程序類的對象
QApplication a(argc, argv);
//自己的具體業務代碼 begin
//MyWidget繼承於QWidget, QWidget是一個窗口(控件)基類
//所以MyWidget也是窗口類
//w就是一個窗口(對象)
MyWidget w;
//窗口創建默認是隱藏,需要人為顯示,沒有show就不會顯示
w.show();
//自己的具體業務代碼 end
//讓程序一直執行,等待用戶操作
//等待事件的發生
a.exec();
return 0;
}
class MyWidget中:
//Q_OBJECT //這是一個宏,信號與槽的時候需要,后面還會講,//沒有這種需要的時候可以不要,對於第一個測試程序來說就不需要了
/*******************************************************************************************/
四、項目文件(.pro文件)
每個應用程序都會對應一個.pro的項目文件,是自動生成的,.pro文件中:
#這個表示模塊,這個是頭文件需要的,也就是添加了頭文件還不夠,還要在這里添加頭文件對應的模塊。即頭文件需要從模塊中查找,因為頭文件按模塊分類了
#頭文件對應模塊的查找辦法:頭文件對應類名上按f1跳到對應的幫助文檔,找到qmake:后面對應的就是需要加的內容
#見圖1,qt具體有哪些模塊見圖2 其中Qt Webkit 是瀏覽器引擎 Qt Mulitmedia * 是多媒體,qt core qt gui是基本模塊寫不寫都一樣:


QT += core gui
#高於4版本,添加 QT += widgets ,//為了兼容Qt4,如果是qt5直接QT += widgets即可,
#widgets是最核心最基本的,一般即使自己來創建個空項目(全部空的),.pro是空的,全部自己寫也要包含這個
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#應用程序的名字,也是窗口左上角顯示的名字
TARGET = mike
#指定makefile的類型, 比如app,表示通過makefile生成一個可執行程序。如果是lib,則生成的是庫
TEMPLATE = app
#源文件 .cpp文件
SOURCES += main.cpp\
mywidget.cpp
#頭文件 .h文件
HEADERS += mywidget.h
/*******************************************************************************************/
五、第一個qt程序
具體見《HelloQt》,這個是創建的空的項目,然后自己一步步添加的項目,具體如何創建空項目見圖3:

main.c文件:
1 #include <QApplication> 2 #include <QWidget> //窗口控件基類 3 #include <QPushButton> 4 5 int main(int argc, char **argv) 6 { 7 QApplication app(argc, argv); 8 9 QWidget w; 10 w.setWindowTitle(QString("主要看氣質")); //設置標題 11 12 /*如果不指定父對象,對象和對象(窗口和窗口)沒有關系,獨立 13 * a指定b為它的父對象,a放在b的上面 14 * 指定父對象,有2種方式: 15 * 1)setParent 16 * 2)通過構造函數傳參 17 * 指定父對象,只需要父對象顯示,上面的子對象自動顯示 18 */ 19 20 QPushButton b; 21 b.setText("^_^"); //給按鈕設置內容 22 b.setParent(&w); //指定父對象 23 b.move(100, 100); //移動坐標 24 25 QPushButton b1(&w); //通過構造函數傳參 26 b1.setText("abc"); 27 28 w.show(); 29 30 app.exec(); 31 return 0; 32 }
其中,
QWidget w;
w.setWindowTitle(QString("主要看氣質")); //設置標題
