Qt入門介紹
時間:2019-08-07 來源:西安中心,閆老師
Qt的基本概念——什么是Qt?
Qt是一個跨平臺的c++圖形用戶界面應用程序框架,它為應用程序開發者提供建立藝術級圖形界面所需的所有功能。它是面向對象的,很容易擴展。并且允許真正的組件編程。
Qt的起源和發展史
1991年Qt最早由奇趣科技開發;1996年進入商業領域,也是目前流行的linux桌面環境KDE的基礎;2008年奇趣科技被諾基亞公司收購,qt稱為諾基亞旗下的編程語言;2012年qt又被Digia公司收購;2014年4月,跨平臺的集成開發環境qt Creator3.1.0發布,同5月20日配發了qt5.3正式版,至此qt實現了對IOS、Android、WP等各平臺的全面支持 。
Qt所支持的平臺
Windows - XP、Vista、Win7、Win8、Win2008、win10;
Uinux - linux、Sun Solaris、HP-UX、IBM AIX 、SGI IRIX 、FreeBSD 、BSD/OS;
Macintosh - Mac OS X;
Embedded – 有幀緩沖支持的嵌入式linux平臺,Windows CE;
Qt中的信號和槽
信號和槽是Qt特有的信息傳輸機制,是Qt設計程序的重要基礎,它可以讓互不干擾的對象建立一種聯系。
信號槽是 Qt 框架引以為豪的機制之一。所謂信號槽,實際就是觀察者模式。當某個事件發生之后,比如,按鈕檢測到自己被點擊了一下,它就會發出一個信號(signal)。這種發出是沒有目的的,類似廣播。如果有對象對這個信號感興趣,它就會使用連接(connect)函數,意思是,將想要處理的信號和自己的一個函數(稱為槽(slot))綁定來處理這個信號。也就是說,當信號發出時,被連接的槽函數會自動被回調。這就類似觀察者模式:當發生了感興趣的事件,某一個操作就會被自動觸發。
槽的本質是類的成員函數,其參數可以是任意類型的。和普通C++成員函數幾乎沒有區別,它可以是虛函數;也可以被重載;可以是公有的、保護的、私有的、也可以被其他C++成員函數調用。唯一區別的是:槽可以與信號連接在一起,每當和槽連接的信號被發射的時候,就會調用這個槽。
槽函數函數的定義及注意事項
槽函數可以是任意的成員函數、普通全局函數、靜態函數;槽函數需要和信號一致(參數、返回值),由于信號都是沒有返回值的,所以槽函數也一定沒有返回值。
創建一個最簡單的Qt程序,分析Qt程序中自動創建的文件
在.pro文件中:
#模塊
QT += core gui
#高于qt4的版本,添加QT += widgets,為了兼容qt4
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#應用程序的名字
TARGET = qt1
#指定makefile類型,
TEMPLATE = app
在main.cpp中:
//一個應用程序類的對象;
QApplication a(argc, argv);
//Widget繼承與QWidget類,QWidget是一個窗口基類
//所以Widget是一個窗口類
//w就是一個窗口
Widget w;
//窗口是默認隱藏的,需要人為的顯示
w.show();
//讓程序一直執行,使用a對象的exec函數,等待用戶操作。
return a.exec();
若想自己新建項目,打開QTCREATOR,在文件菜單欄選擇新建文件或項目或點擊菜單欄下的New Project,左側一欄選擇項目為Application(應用程序),中間一欄選擇Qt Widgets Application,右側一欄為當前項目類型的簡介。然后點擊右下角的choose,設置項目名(英文)和項目路徑,點擊下一步,選擇開發組件(默認有選擇),點擊下一步,推薦取消選擇創建界面(如果選擇了創建界面,項目會帶一個.ui文件,支持使用拖動控件方式設計界面),使用純代碼方式設計界面,點擊完成則創建項目成功。
注意事項:Qt應用程序的安裝和工程文件的建立,都要選擇英文路徑,以避免不必要的錯誤發生。

