QT是一個1991年由QT Company開發的跨平臺C++圖形用戶界面應用程序開發框架。它既可以開發GUI程序,也可用于開發非GUI程序,比如控制臺工具和服務器。Qt支持下列操作系統:Microsoft Windows 95/98、Microsoft Windows NT、Linux、Solaris、SunOS、HP-UX、Digital UNIX (OSF/1、Tru64)、Irix、FreeBSD、BSD/OS、SCO、AIX、OS390和QNX等。使用Qt開發的優秀軟件包括:圖形組織應用軟件Adobe Photoshop Album;開源的chm開發工具chmcreator;API文件產生器Doxygen;Linux版QQ聊天軟件eva;網頁瀏覽器Opera;金山公司(Kingsoft)出品的辦公軟件WPS Office;咪咕音樂;YY語音等等。
QT包含豐富的控件,比如:Button按鈕、Item views項目視圖組、Containers容器、Input Widget輸入小部件、Display Widgets顯示小部件五大類。
其中,Button按鈕組包括:Push Button按鈕、Tool Button 具按鈕、Radio Button單選框、Check Button多選框、Command Button命令行按鈕、Button Box(ok/cancel按鈕組)。
其中,Item views項目視圖組包括:List View列表視圖、Tree View樹型視圖、Table View網格視圖、Column View列視圖、Ltem Widget、List Widget、Tree Widget、table Widge。
其中,Containers容器組包括:Group Box組框、Scroll Area滾動區域、Tool Box工具組、Tab Widget選項卡、Stacket Widget 上下頁小部件、Frame框架、Widget部件。
其中,Input Widget輸入小部件包括:Combo Box下拉列表框、Font Combo Box字體選擇、Line Edit行編輯器、Text Edit多行編輯器、Plain Text Edit純文本編輯器、Spin Box自選框、Double Spin Box浮點自選框、Time Edit時間、Date Edit日期、Date/Time Edit時間/日期、Dial轉盤、Vertical Scroll Box橫向滑條、Horizont Scroll Box豎向滑條、Horizont Slider豎向滑塊、Vertical Slider橫向滑塊。
其中,Display Widgets顯示小部件包括:Label標簽、Text Browser文檔瀏覽器、Graphics View圖片查看器、Calendar日歷、LCD Number LCD數字顯示屏、Progress Bar進度條、Horizontal Line橫向分隔符、Veritical Line豎向分隔符、QWebView網頁。
信號和槽機制是Qt的一個主要特征,是Qt與其它工具包最不相同的部分。Qt采用信號和槽實現對象部件之間的通信。當某個事件發生時,如:鼠標按下時,將會產生一個信號,QT中的connect函數將控件、信號和槽函數相關聯。在產生信號的時候,直接調用槽函數。
Push Button按鈕和Line Edit行編輯器(用于顯示單行文本內容,也可以進行編輯)
圖一:按鈕
圖二:按鈕相關代碼
圖三:按鈕效果
Label標簽
Label用于顯示文本和圖像,但是沒有用戶交互可用。
Text Edit多行編輯器
圖四:多行編輯器
SpinBox是用于處理整數和離散值集的控件,在代碼示例中有一個spinbox控件可以選擇數據0~12或者0~31。當前選擇的值顯示在標簽控件中。
上面的Label用于顯示文字,下面的Label用于顯示圖片。
圖五:SpinBox和Label
Slider是一個具有簡單句柄的小部件。這個手柄可以來回拉動。
圖六:slider