QT開發(fā)與實(shí)踐Qt概述_第1頁(yè)
QT開發(fā)與實(shí)踐Qt概述_第2頁(yè)
QT開發(fā)與實(shí)踐Qt概述_第3頁(yè)
QT開發(fā)與實(shí)踐Qt概述_第4頁(yè)
QT開發(fā)與實(shí)踐Qt概述_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第1章 QtQt概述1.1 1.1 什么是什么是QtQt1.2 Qt 51.2 Qt 5的安裝的安裝1.3 Qt 51.3 Qt 5開發(fā)步驟及實(shí)例開發(fā)步驟及實(shí)例1.1 1.1 什么是QtQtQt是一個(gè)跨平臺(tái)的C+圖形用戶界面應(yīng)用程序框架。它為應(yīng)用程序開發(fā)者提供建立藝術(shù)級(jí)圖形用戶界面所需的所有功能。Qt是諾基亞公司的一個(gè)產(chǎn)品。1996年,Qt進(jìn)入商業(yè)領(lǐng)域,已成為全世界范圍內(nèi)數(shù)千種成功的應(yīng)用程序的基礎(chǔ)。它也是目前流行的Linux桌面環(huán)境KDE 的基礎(chǔ),KDE是Linux發(fā)行版的主要一個(gè)標(biāo)準(zhǔn)組件。1.1 1.1 什么是QtQtQtQt支持的平臺(tái)有:支持的平臺(tái)有:MS/Windows95、98、NT

2、4.0、ME、2000、XP和Vista;UNIX/X11Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX和其他很多X11平臺(tái);MacintoshMac OS X;Embedded有幀緩沖(framebuffer)支持的Linux平臺(tái)、Windows CE;Symbian/S60目前已經(jīng)可以提供技術(shù)預(yù)覽版本。1.2 Qt 51.2 Qt 5的安裝的安裝1.2.1 1.2.1 下載下載Qt 5 CreatorQt 5 Creator下載地址:/downloads,下載頁(yè)面如圖1.1所示。1

3、.2.2 1.2.2 運(yùn)行運(yùn)行Qt 5 CreatorQt 5 Creator點(diǎn)擊運(yùn)行Qt Creator,出現(xiàn)歡迎界面,如圖1.2所示。1.2.3 Qt 51.2.3 Qt 5開發(fā)環(huán)境開發(fā)環(huán)境GUI用戶界面設(shè)計(jì)(Qt Designer)界面如圖1.3所示。1.2.3 Qt 51.2.3 Qt 5開發(fā)環(huán)境開發(fā)環(huán)境進(jìn)入Qt設(shè)計(jì)器主界面后,看到的中間部分(如圖1.4所示)就是將要設(shè)計(jì)的頂層窗口部件(頂層窗口部件是其他子窗口部件的載體)。1.3 Qt 51.3 Qt 5開發(fā)步驟及實(shí)例開發(fā)步驟及實(shí)例本實(shí)例要實(shí)現(xiàn)的功能是,當(dāng)用戶輸入一個(gè)圓的半徑后,可以顯示計(jì)算后的圓的面積值。運(yùn)行效果如圖1.5所示。1.

4、3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)1 1界面設(shè)計(jì)界面設(shè)計(jì)步驟如下。(1)單擊運(yùn)行Qt Creator,進(jìn)入歡迎界面如圖1.2所示。單擊“文件”“新建文件或項(xiàng)目.”命令,創(chuàng)建一個(gè)新的工程,如圖1.6所示。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)(2)單擊選擇“Qt Gui 應(yīng)用”,單擊“選擇”按鈕,進(jìn)入下一步。這里因?yàn)樾枰⒁粋€(gè)Gui項(xiàng)目,所以選擇“Qt Gui 應(yīng)用”,如圖1.7所示。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)

5、(3)選擇保存項(xiàng)目的路徑并定義自己項(xiàng)目的名字。項(xiàng)目命名沒(méi)有大小寫要求,依據(jù)個(gè)人習(xí)慣命名即可。這里將項(xiàng)目命名為Dialog,保存路徑為D:QtCH1CH101,如圖1.8所示。單擊“下一步”按鈕進(jìn)入下一步驟。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)(4)彈出“選擇構(gòu)建套件”界面,系統(tǒng)默認(rèn)已指定C+的編譯器和調(diào)試器,如圖1.9所示,直接單擊“下一步”按鈕進(jìn)入下一步驟即可。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)(5)根據(jù)實(shí)際需要,選擇一個(gè)“基類”。這里選擇QDialog對(duì)話框類作為基類,

6、這時(shí)“類名”、“頭文件”、“源文件”及“界面文件”都出現(xiàn)默認(rèn)的文件名。默認(rèn)選中“創(chuàng)建界面”復(fù)選框,表示需要采用自帶的界面設(shè)計(jì)器來(lái)設(shè)計(jì)界面,否則需要利用代碼完成界面的設(shè)計(jì),如圖1.10所示。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)(6)單擊“完成”按鈕完成創(chuàng)建,相應(yīng)的文件自動(dòng)加載到文件列表中,如圖1.11所示。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)單擊中間灰色一列工具欄中的過(guò)濾符號(hào)( )后,彈出一個(gè)下拉列表,使兩個(gè)項(xiàng)目都是被勾選后處于選中狀態(tài)(默認(rèn)選項(xiàng)“簡(jiǎn)化樹形視圖”沒(méi)選中,“隱藏生

7、成的文件”處于選中狀態(tài)),如圖1.12(a)所示。若單擊其中“簡(jiǎn)化樹形視圖”項(xiàng)取消選中狀態(tài),此時(shí)文件列表中的文件自動(dòng)分類顯示,如圖1.12(b)所示。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)(7)雙擊dialog.ui,進(jìn)入界面設(shè)計(jì)器Qt Designer編輯狀態(tài),開始進(jìn)行設(shè)計(jì)器(Qt Designer)編程。拖曳控件容器欄的滑動(dòng)條,在最后的Display Widgets容器欄(如圖1.13所示)中找到Label標(biāo)簽控件,拖曳三個(gè)此控件到中間的編輯框中。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designe

8、r實(shí)現(xiàn)實(shí)現(xiàn)在Input Widgets容器欄(如圖1.14所示)中找到LineEdit文本控件,拖曳此控件到中間的編輯框中,用于輸入半徑值;1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)在Buttons容器欄(如圖1.15所示)中找到PushButton按鈕控件,拖曳此控件到中間的編輯框中,用于提交響應(yīng)單擊事件。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)調(diào)整各控件的位置,單擊編輯框的空白處使編輯框處于被選中狀態(tài),拖曳右下角的小方框,調(diào)整整個(gè)框架的大小,直至調(diào)整到適當(dāng)大小為止,調(diào)整后的布局如圖

9、1.16所示。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)下面將修改拖曳到編輯框中的各控件的屬性,如圖1.17所示,各控件屬性見(jiàn)表1.1。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)修改控件修改控件TextText值的方法有如下兩種。值的方法有如下兩種。 直接雙擊控件本身即可修改。 在Qt Designer設(shè)計(jì)器的屬性欄中修改,如修改表示半徑的Label標(biāo)簽,如圖1.18所示。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)最后,修改areaL

10、abel_2的“frameShape”為Panel;“frameShadow”為Sunken,如圖1.19所示。最終效果如圖1.20所示。 1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)下面單擊左下角的運(yùn)行按鈕( )或者使用組合鍵【Ctrl+R】運(yùn)行程序,這時(shí)系統(tǒng)提示是否保存,單擊“保存所有”按鈕,如圖1.21所示。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)2 2編寫相應(yīng)的計(jì)算圓面積代碼編寫相應(yīng)的計(jì)算圓面積代碼首先簡(jiǎn)單認(rèn)識(shí)一下Qt編程環(huán)境。找到文件列表中自動(dòng)添加的main.cpp文件,如圖1

11、.12所示。每個(gè)工程都有一個(gè)執(zhí)行的入口函數(shù),此文件中的main()函數(shù)就是此工程的入口。下面詳細(xì)介紹一下main()函數(shù)的相關(guān)內(nèi)容:#include dialog.h#include int main(int argc, char *argv) QApplication a(argc, argv); Dialog w; w.show(); return a.exec();1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)方式方式1 1:在LineEdit文本框內(nèi)輸入半徑值,然后單擊“計(jì)算”按鈕,則在areaLabel_2中顯示對(duì)應(yīng)的圓面積。編寫代碼

12、步驟如下。(1)在“計(jì)算”按鈕上單擊鼠標(biāo)右鍵,在彈出的下拉菜單中選擇“轉(zhuǎn)到槽.”命令,如圖1.22所示。在彈出的對(duì)話框中選擇“clicked()”信號(hào),如圖1.23所示。 1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)(2)進(jìn)入dialog.cpp文件中按鈕單擊事件的槽函數(shù)on_countBtn_clicked()。信號(hào)與槽連接的具體說(shuō)明參照本書后面提供的知識(shí)點(diǎn)鏈接部分。在此函數(shù)中添加如下代碼:void Dialog: on_countBtn_clicked() bool ok; QString tempStr; QString valueSt

13、r=ui-radiusLineEdit-text(); int valueInt=valueStr.toInt(&ok); double area=valueInt*valueInt*PI;/計(jì)算圓面積 ui-areaLabel_2-setText(tempStr.setNum(area);(3)在此文件開始處添加以下語(yǔ)句:const static double PI=3.1416;1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)方式方式2 2:在LineEdit內(nèi)輸入半徑值,不需要單擊按鈕觸發(fā)單擊事件,直接就在areaLabel_2中顯

14、示圓面積。編寫代碼步驟如下。(1)在“LineEdit”編輯框上單擊鼠標(biāo)右鍵,在彈出的下拉菜單中選擇“轉(zhuǎn)到槽.”菜單項(xiàng),在彈出的對(duì)話框中選擇“textChanged(QString)”信號(hào),如圖1.24所示。1.3.1 1.3.1 設(shè)計(jì)器設(shè)計(jì)器Qt 5 DesignerQt 5 Designer實(shí)現(xiàn)實(shí)現(xiàn)(2)單擊“確定”按鈕,進(jìn)入dialog.cpp文件中的文本編輯框,改變值內(nèi)容事件的槽函數(shù)on_radiusLineEdit_textChanged(const QString &arg1)。在此函數(shù)中添加如下代碼:void Dialog:on_radiusLineEdit_textCh

15、anged(const QString &arg1) bool ok; QString tempStr; QString valueStr=ui-radiusLineEdit-text(); int valueInt=valueStr.toInt(&ok); double area=valueInt*valueInt*PI;/計(jì)算圓面積 ui-areaLabel_2-setText(tempStr.setNum(area);1.3.2 代碼實(shí)現(xiàn)(1)首先創(chuàng)建一個(gè)新工程。創(chuàng)建過(guò)程和本書1.3.1節(jié)中的第(1)步驟第(6)步驟相同,只是在第(3)步驟中,項(xiàng)目命名為Dialog且保存

16、路徑為D:QtCH1CH102,在第(5)步驟中,取消“創(chuàng)建界面”復(fù)選框的選中狀態(tài)。1.3.2 代碼實(shí)現(xiàn)(2)在上述工程的dialog.h中添加如下加黑代碼:class Dialog : public QDialogQ_OBJECTpublic:Dialog(QWidget *parent = 0); Dialog();private:private:QLabel QLabel * *label1,label1,* *label2;label2;QLineEdit QLineEdit * *lineEdit;lineEdit;QPushButton QPushButton * *button;

17、button;此時(shí)要在文件最開始加入頭文件:#include #include #include 1.3.2 代碼實(shí)現(xiàn)(3)在dialog.cpp 中添加如下代碼:Dialog:Dialog(QWidget *parent) : QDialog(parent) label1=new QLabel(this); label1-setText(tr(請(qǐng)輸入圓的半徑:); lineEdit=new QLineEdit(this); label2=new QLabel(this); button=new QPushButton(this); button-setText(tr(顯示對(duì)應(yīng)圓的面積); Q

18、GridLayout *mainLayout=new QGridLayout(this); mainLayout-addWidget(label1,0,0); mainLayout-addWidget(lineEdit,0,1); mainLayout-addWidget(label2,1,0); mainLayout-addWidget(button,1,1);1.3.2 代碼實(shí)現(xiàn)(4)在此文件一開始添加頭文件:#include 運(yùn)行程序結(jié)果如圖1.25所示。1.3.2 代碼實(shí)現(xiàn)方式方式1: 1: 在LineEdit文本框內(nèi)輸入所需圓的半徑值,單擊“顯示對(duì)應(yīng)圓的面積”按鈕后,在label2中

19、顯示相對(duì)應(yīng)的圓的面積值。(1)打開dialog.h文件,在類構(gòu)造函數(shù)和控件成員聲明后,添加如下代碼:class Dialog : public QDialog . . QPushButton *button;private slots:private slots: void showArea(); void showArea(); ;1.3.2 代碼實(shí)現(xiàn)(2)打開dialog.cpp 文件,在構(gòu)造函數(shù)中添加如下加黑代碼:Dialog:Dialog(QWidget *parent) : QDialog(parent) . . mainLayout-addWidget(button,1,1); connect(button,SIGNAL(clicked(),this,SLOT(showArea(); connect(button,SIGNAL(clicked(),this,SLOT(showArea();1.3.2 代碼實(shí)現(xiàn)(3)在showArea()中實(shí)現(xiàn)顯示圓面積功能,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論