【Qt教程】2.6 - Qt5 自定义控件封装

自定义控件是将原有控件组合、封装,并填入自定义功能,留出适当的函数接口,方便其他控件的调用。设计窗口时,可以将控件拖入,方便模块化设计。

GitHub代码仓库:Qt学习例程

1. 建立工程、新建自定义控件

创建widget工程

新建控件:

Add New...,Qt,Qt设计师界面类。模板选择 Widget。

扫描二维码关注公众号,回复: 12161860 查看本文章

给自定义控件随便起一个名称。

最后就看到两个控件窗口了。

2. 布局、代码关联

将系统控件 放入到 新建的控件中。进行布局,调整大小。

将整型微调 和 水平滑块用代码关联。使水平滑块会随着微调移动,拖动水平滑块也会使微调显示框更新变化。

3. 在其他窗口中调用自定义控件

在widget窗口内,调用自定义控件:拖入 widget控件,右键 - 提升为。

将自定义控件的类名称复制下来。

粘贴到提升的类名称中,(勾选全局包含),添加,提升。

之后再想将其他控件提升为自定义控件,就可直接右键 - 提升为 - 以前勾选过全局包含的类。

可以看到,提升后的widget控件,从QWidget类,变成了自定义控件的类。

实验结果。微调数字框,水平滑块会滑动。拖动水平滑块,微调数字框中的数值也会发生变化。且上下两个自定义控件相互独立,互不干扰。

4. 预留外部接口

作为完整的自定义控件,还需要留出适当的接口,提供一些功能以供外部调用。

添加两个测试按键。

给按键添加信号槽,调用留出的外部接口,实现对应功能。

最终实验现象。

以后的代码越来越大,文件也会变多,所以完整代码就不再发博客中了。会将工程同步到GitHub,欢迎各位下载。

GitHub代码仓库:Qt学习例程

猜你喜欢

转载自blog.csdn.net/Mark_md/article/details/108854283