Qt Creator多窗口程序編寫(xiě)_第1頁(yè)
Qt Creator多窗口程序編寫(xiě)_第2頁(yè)
Qt Creator多窗口程序編寫(xiě)_第3頁(yè)
Qt Creator多窗口程序編寫(xiě)_第4頁(yè)
Qt Creator多窗口程序編寫(xiě)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Qt Creator多窗口程序編寫(xiě)(2010-02-15 16:35:32) 標(biāo)簽: qtcreator多窗口程序it分類(lèi):Qt_Creator    今天重新開(kāi)工,剛剛進(jìn)行了Qt Creator的多窗口程序的學(xué)習(xí),是參考網(wǎng)上的一些資料做的。程序的功能是程序開(kāi)始出現(xiàn)一個(gè)對(duì)話(huà)框,按下按鈕后便能進(jìn)入主窗口,如果直接關(guān)閉這個(gè)對(duì)話(huà)框,便不能進(jìn)入主窗口,整個(gè)程序也將退出。當(dāng)進(jìn)入主窗口后,我們按下按鈕,會(huì)彈出一個(gè)對(duì)話(huà)框,無(wú)論如何關(guān)閉這個(gè)對(duì)話(huà)框,都會(huì)回到主窗口?,F(xiàn)在我們具體的來(lái)做這個(gè)實(shí)驗(yàn)。1. 新建Qt4 Gui Application工程,工程名為MultiWind

2、ow,Base class選為QWidget。建立好后工程文件列表如下圖。2.新建對(duì)話(huà)框類(lèi),如下圖,選擇Qt Designer Form Class。3.選擇Dialog without Buttons。4.類(lèi)名設(shè)為xyDlg。5.點(diǎn)擊Finish完成。注意這里已經(jīng)默認(rèn)將其加入到了我們剛建的工程中了。添加前后工程新增的內(nèi)容如下圖所示。添加前添加后6.如下圖,在xydlg.ui中拖入一個(gè)Push Button,將其上的文本改為“進(jìn)入主窗口”,在其屬性窗口中將其objectName改為enterBtn,在下面的Signals and slots editor中進(jìn)行信號(hào)和槽的關(guān)聯(lián),其中,Sender

3、設(shè)為enterBtn,Signal設(shè)為clicked(),Receive設(shè)為xyDlg,Slot設(shè)為accept()。這樣就實(shí)現(xiàn)了單擊這個(gè)按鈕使這個(gè)對(duì)話(huà)框關(guān)閉并發(fā)出Accepted信號(hào)的功能。下面我們將利用這個(gè)信號(hào)。7.修改主函數(shù)main.cpp,如下:#include <QtGui/QApplication>#include "widget.h"#include "xydlg.h"             

4、60;          /加入頭文件int main(int argc, char *argv)    QApplication a(argc, argv);    Widget w;    xyDlg xy1;                 &

5、#160;         /建立自己新建的類(lèi)的對(duì)象xy1    if(xy1.exec()=QDialog:Accepted)    /利用Accepted信號(hào)判斷enterBtn是否被按下            w.show();           &#

6、160;            /如果被按下,顯示主窗口        return a.exec();                 /程序一直執(zhí)行,直到主窗口關(guān)閉        else ret

7、urn 0;                       /如果沒(méi)被按下,則不會(huì)進(jìn)入主窗口,整個(gè)程序結(jié)束運(yùn)行    主函數(shù)必須這么寫(xiě),才能完成所要的功能。8.如下圖,在主窗口加入按鈕,顯示文本為“Go to SubWindow”,在其上點(diǎn)擊鼠標(biāo)右鍵,在彈出的菜單中選擇go to slot。9.我們選擇單擊事件clicked()。10.我們?cè)趶棾龅牟?/p>

8、函數(shù)中添加一句:     xy2.show();   xy2為我們新建對(duì)話(huà)框類(lèi)的另一個(gè)對(duì)象,但是xy2我們還沒(méi)有定義,所以在widget.h文件中添加相應(yīng)代碼,如下,先加入頭文件,再加入my2的定義語(yǔ)句,這里我們將其放到private里,因?yàn)橐话愕暮瘮?shù)都放在public里,而變量都放在private里。   #ifndef WIDGET_H   #define WIDGET_H    #include <QtGui/QWidget>  

9、; #include "xydlg.h"    /包含頭文件   namespace Ui     class Widget;      class Widget : public QWidget    Q_OBJECT    public:   Widget(QWidget *parent = 0);   Widget(); 

10、   private:   Ui:Widget *ui;   xyDlg xy2;       /對(duì)my2進(jìn)行定義   private slots:   void on_pushButton_clicked();   ;   #endif / WIDGET_H    到這里,再運(yùn)行程序,便能完成我們實(shí)驗(yàn)要求的功能了??匆幌滦Ч麍D:              

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論