Qt自定义界面组件(1)----提升法

目录

 

1、背景

2、设计自定义界面组件

3、提升为自定义组件

4、效果

5、源码


1、背景

Qt的UI设计器提供了很多GUI设计的界面组件,可以满足常见的界面设计需求。但是某些时候需要特殊的界面组件,而在UI设计器的组件面板里根本没有合适的组件,这时就需要设计自定义的界面组件。

 

2、设计自定义界面组件

所有界面组件的基类是QWidget,要设计自定义的界面组件:

(1)可以从QWidget继承一个自定义的类,重定义其panitEvent()事件,利用Qt的绘图功能绘制组件外观,并实现需要的其它功能;

(2)也可以从组件面板里拖拽一个QWidget作为父组件,在这个组件里面添加其它现有组件组合为一个自定义组件;

比如我们在用到QTableWidget/QTableView时,经常会有翻页的需求,那么我们可以设计一个页面控制器组件,这里我们采用第2种方式来设计,如下图:

我通过拖拽QWidget作为父组件,在QWidget上添加了一些QLabel、QPushButton、QComboBox等实现了自定义的页面控制器组件。

 

3、提升为自定义组件

在使用时,将自定义组件的代码文件拷贝的工程中,然后在要使用的界面上拖拽一个QWidget,右键选择提升为,输入自定义组件的类名,选择基类为QWidget;

然后点击添加,最后点击提升即可提升完成,提升后显示如下:

4、效果

5、源码

GitHub:https://github.com/liupeng2015bj/Qt-Custom-Widget,欢迎star。。。

posted @ 2021-01-19 16:38  书灯  阅读(420)  评论(0)    收藏  举报  来源