- 0
- 0
- 0
- 約5.89千字
- 2020-12-12 發布
文檔工具:
- 1、本文檔共8頁,可閱讀全部內容。
- 2、本文檔內容版權歸屬內容提供方,所產生的收益全部歸內容提供方所有。如果您對本文有版權爭議,可選擇認領,認領后既往收益都歸您。
- 3、本文檔由用戶上傳,本站不保證質量和數量令人滿意,可能有諸多瑕疵,付費之前,請仔細先通過免費閱讀內容等途徑辨別內容交易風險。如存在嚴重掛羊頭賣狗肉之情形,可聯系本站下載客服投訴處理。
- 文檔侵權舉報電話:19940600175。
PAGE 1/ NUMPAGES 8
電 子 科 技 大 學
學 生 實 驗 報 告 書
課 程 名 稱 實用嵌入式應用系統設計與實現
任 課 老 師
學 生 姓 名
學 生 學 號
學 生 學 院
2014 — 2015 學年 第2學期
實驗項目名稱
可擴展對話框的設計
實驗日期
2015.3.20
一、實驗內容描述
1、采用IDE中使用完全手寫代碼的方法設計擴展對話框;
2、采用Qt Designer設計界面的方法設計可擴展對話框;
3、可擴展對話框通常只顯示簡單的外觀,通過一個切換按鈕可以讓用戶在對話框的簡單外觀和擴展外觀之間來回切換??蓴U展對話框常用于同時滿足普通用戶和高級用戶的需要。
實例運行效果如下圖所示:
二、實驗步驟設計
實驗可采用兩種方案設計:
方案一:采用IDE中使用完全手寫代碼的方法:
1、創建一個Empty Qt Project的空項目,該項目名為lesson_test_dialog。生成工程文件(創建項目時自動生成):lesson_text_dialog.pro ;
2、增加主程序文件:main.cpp ,對話框類的頭文件:lesson_test_dialog.h ,實現文件:lesson_test_dialog.cpp ;
3、然后在代碼編輯器中完成編輯;
4、編譯、運行。
方案二:采用Qt Designer設計界面的方法
1. 創建一個Qt Gui應用的項目,項目名稱為lesson_test_dialog_Designer,基類選擇Qwidget。
2. 創建一個GroupBox控件,使它足夠大,再在其中再創建一個GroupBox控件,里面的控件title屬性設為basicGroupBox,并在basicGroupBox中拖放一些控件
3. 選擇Name標簽、文本輸入框、Sex標簽和ComboBox,再點擊工具欄中的“在窗體布局中布局”按鈕,實現多個控件的表單布局。
4. 選擇Detail按鈕和Close按鈕,然后點擊工具欄上的“水平布局”按鈕,實現多個控件的水平布局。
5. 在basicGroupBox下面在創建一個GroupBox,title屬性設為extensionGroupBox。
6. 編輯Tab順序,點擊工具欄上的“編輯Tab順序”按鈕,將控件上的數字從“1”點到“7”即可。完成后再按工具欄上的“編輯控件”按鈕返回。
7. 編輯信號/槽,Close按鈕的clicked()信號和GroupBox的close()槽函數連接。
如圖所示:
8、返回項目樹視圖,在頭文件widget.h中添加新代碼,在源文件widget.cpp中添加新代碼。
9、編譯、運行。
三、實驗代碼
方案一:采用IDE中使用完全手寫代碼的方法:
1、對話框頭文件lesson_test_dialog.h的源碼如下:
#ifndef LESSON_TEXT_DIALOG_H
#define LESSON_TEXT_DIALOG_H
#include"QtGui"
class lesson_text_dialog:public QDialog
{
Q_OBJECT //應用信號/槽機制時必須加入這個宏。
public:
lesson_text_dialog();
void initBasicInfo(); //初始化基礎信息的函數。
void initDetailInfo(); //初始化擴展信息的函數。
public slots:
void slot2Extension(); //共有槽,在用戶單擊Detali按鈕時被觸發。
private:
QWidget *baseWidget; //實例化的Qwidget,代表伸縮前的對話框。
QWidget *detailWidget; //實例化的Qwidget,代表伸縮后的對話框。
};
#endif
// LESSON_TEXT_DIALOG_H
2、實現文件lesson_test_dialog.cpp的源碼如下:
#include "lesson_test_dialog.h"
lesson_text_dialog::lesson_text_dialog()
{
setWindowTitle("Information");//設置標題。
initBasicInfo();//初始化基本信息窗體。
initDetail
文檔評論(0)