- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1/ NUMPAGES 8
电 子 科 技 大 学
学 生 实 验 报 告 书
课 程 名 称 实用嵌入式应用系统设计与实现
任 课 老 师
学 生 姓 名
学 生 学 号
学 生 学 院
2014 — 2015 学年 第2学期
实验项目名称
可扩展对话框的设计
实验日期
2015.3.20
一、实验内容描述
1、采用IDE中使用完全手写代码的方法设计扩展对话框;
2、采用Qt Designer设计界面的方法设计可扩展对话框;
3、可扩展对话框通常只显示简单的外观,通过一个切换按钮可以让用户在对话框的简单外观和扩展外观之间来回切换。可扩展对话框常用于同时满足普通用户和高级用户的需要。
实例运行效果如下图所示:
二、实验步骤设计
实验可采用两种方案设计:
方案一:采用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
#includeQtGui
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();//初始化基本信息窗体。
initDetailInfo()
原创力文档


文档评论(0)