QT-自定义控件

这篇博客介绍了如何在Qt中封装QSlider和QSpinBox控件,并通过信号和槽进行连接。利用函数指针处理QSpinBox的valueChanged重载函数,实现了滑块和旋钮值的同步更新。此外,将这两个控件封装到一个独立的UI文件中,并在主界面中通过提升部件使用。提供了设置和获取值的函数,并展示了如何在主界面中调用这些函数进行数值的读取和设置。
摘要由CSDN通过智能技术生成

将控件封装在ui界面中,通过其他界面提升来使用自定义控件。提升之后进行qmake

QSlider与QSpinBox的封装

通过信号和槽连接两个控件,因为

&QSpinBox::valueChanged是个重载函数,所以写一个函数指针来替换他。

    void(QSpinBox::*spinbox)(int)=&QSpinBox::valueChanged;
    connect(ui->spinBox,spinbox,ui->horizontalSlider,&QSlider::setValue);
    connect(ui->horizontalSlider,&QSlider::valueChanged,ui->spinBox,&QSpinBox::setValue);

 ★将slider和spinbox封装在一个

sliderAndspinbox.ui文件里,在widget.ui里通过widget部件进行提升,

 示例:点击读取按钮进行当前值的读取,点击设置按钮设置值为50

将读取和设置函数在.h文件里声明.cpp文件里实现,在.cpp文件里要加上作用域

.h文件(声明)

    void setnum(int num);
    int getnum();

.cpp文件(实现)

//设置
void sliderAndspinbox::setnum(int num)
{
    ui->spinBox->setValue(num);
}
//读取
int sliderAndspinbox::getnum()
{
    return ui->spinBox->value();
}

在widget文件通过ui调用提升部件widget里面的函数。

void Widget::on_pushButton_clicked()
{
    ui->widget->getnum();
    qDebug()<< ui->widget->getnum();
}

void Widget::on_pushButton_2_clicked()
{
    ui->widget->setnum(50);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值