Qt学习笔记(二十八):自定义控件

一、自定义控件的创建:

1、在项目中添加一个设计师界面类:

创建好后,会自动生成一个 .h 文件、一个 .cpp 文件和一个 ui 界面文件,如下:

2、在新添加 设计师界面类的 ui 界面上拖几个控件:

在 ui 界面上拖一个 Widget 控件,然后在 Widget 控件里面拖一个 SpinBox 控件和一个 Slider 控件,

如下所示:Widget 控件采用 “水平布局”,整个窗口采用 “栅格布局”;

3、为 SpinBox 和 Slider 控件添加槽函数:

为 SpinBox 控件添加槽函数:右键选中的控件,选择 “转到槽…”:

然后在弹出的 “转到槽” 对话框中,选择需要处理的信号:

用同样的方法为 Slider 控件也添加一个处理 valueChanged 信号的槽函数;

然后在槽函数中添加代码如下:

// 处理 SpinBox 控件 valueChanged 信号的槽函数
void SmallWidget::on_spinBox_valueChanged(int value)
{
    // 当 SpinBox 的值发生变化时,Slider 的值随之一起变化
    ui->horizontalSlider->setValue(value);
}

// 处理 Slider 控件 valueChanged 信号的槽函数
void SmallWidget::on_horizontalSlider_valueChanged(int value)
{
    // 当 Slider 的值发生变化时,SpinBox 的值也随之一起变化
    ui->spinBox->setValue(value); 
}

二、自定义控件的使用:

因为自定义控件(SmallWidget)是继承于 QWidget 的,所以在 ui 界面上使用 SmallWidget 自定义控件的时候需要先放一个 Widget 控件,然后在 Widget 上鼠标右键,选择“提升为…”,在 “提升窗口部件” 对话框中添加 SmallWidget 类,如下所示:

然后点击 ”添加“ 按钮,添加之后如下所示:

最后点击 “提升” 按钮即可。

已经提升之后的 Widget 在界面上没有显示为自定义控件,如下所示,不知道是什么原因,没找到解决办法!!!

 

但是在程序运行的时候,还是能够正常显示为自定义控件,如下所示:

由于前面提升控件的时候勾选了 ”全局包含“,所以后面再为 Widget 提升控件的时候,可以直接选择要提升的目标控件,如下所示:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值