Qt自定义组件方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Qt⾃定义组件⽅法
Qt⾃定义组件⽅法
该案例要实现⼀个如下图组件,右侧进度条会随着SpinBox数值的改变⽽做出相应变化。

功能简单,主要是通过⼀个简单例⼦掌握Qt组件的实现⽅法。

步骤1:UI设计器中,在需要放置⾃定义组件的位置放⼊Widget容器widge,并设置号Widget在UI界⾯的布局;
步骤2:如下如,添加新⽂件-->选择C++ Class,点击chose按钮,进⼊下⼀界⾯,输出Class name,选择Base class为QWidget,下⼀步-->完成。

步骤3:在myWidget.cpp类中添加如下代码:
1//包含需要⽤到的组件
2 #include <QSpinBox>
3 #include <QProgressBar>
4 #include <QHBoxLayout>
5
6//构造函数中添加如下
7 QSpinBox *spin = new QSpinBox(this);
8 QProgressBar *progress = new QProgressBar(this);
9 spin->setRange(0,100);
10 progress->setRange(0,100);
11
12 QHBoxLayout *hLayout = new QHBoxLayout(this);
13 hLayout->addWidget(spin);
14 hLayout->addWidget(progress);
15
16 connect(spin,SIGNAL(valueChanged(int)),progress,SLOT(setValue(int)));
View Code
步骤4:在UI设计界⾯,右键点击在步骤1中添加的Widget容器,弹出右键菜单,选择“提升为”弹出如下图窗⼝:
然后在提升的类名称中输⼊“myWidget”(步骤2中新添加类的名称,即⾃定义组件的对象名称),头⽂件⾃动补全,勾选全局包含,点击“添加”按钮,点击“提升”,在右侧组件属性窗⼝可以看出步骤1中添加的 widget组件的类名称变为myWidget,如下图:
编译运⾏软件效果:
以后在需要⽤到该⾃定义组件的地⽅,只需像步骤4中那样,右键菜单->提升为->选择“myWidget”即可。

可以使⽤该⽅法实现⾃定组件,对Qt提供的组件进⾏功能扩充或者将不同组件组成⼀个组件,实现组件功能的扩展。

最后,需要注意的是,被提升的组件和⾃定义组件必须为相同的基类,如该例中UI界⾯中被提升的widget组件基类和⾃定义组件基类都为QWidget类。

相关文档
最新文档