0、实现功能
程序演示
qt学习
1、创建自己的ui类

2.使用两个组件

做出如下效果

3、在原本的ui文件中导入自定义的ui
- 使用widget容器

- 右键widget提升窗口部件

4、组件关联
通过查询帮助文档,可以很容易的找到信号与对应的槽。将两个组件关联起来。
#include "smallwidget.h"
#include "ui_smallwidget.h"
//自己创建的ui类
SmallWidget::SmallWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::SmallWidget)
{
ui->setupUi(this);
//QSpinBox移动 QSlider跟着移动
void(QSpinBox:: * spSignal)(int) = &QSpinBox::valueChanged;
connect(ui->spinBox,spSignal,ui->horizontalSlider,&QSlider::setValue);
//QSlider移动 QSpinBox跟着移动
void(QSlider:: * slider)(int) = &QSlider::valueChanged;
connect(ui->horizontalSlider,slider,ui->spinBox,&QSpinBox::setValue);
}
SmallWidget::~SmallWidget()
{
delete ui;
}
5、加入按钮
- 在主ui中加入按钮

- 在自定义类中写入函数
记得在.h文件中写入函数声明
#include "smallwidget.h"
#include "ui_smallwidget.h"
SmallWidget::SmallWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::SmallWidget)
{
ui->setupUi(this);
//QSpinBox移动 QSlider跟着移动
void(QSpinBox:: * spSignal)(int) = &QSpinBox::valueChanged;
connect(ui->spinBox,spSignal,ui->horizontalSlider,&QSlider::setValue);
//QSlider移动 QSpinBox跟着移动
void(QSlider:: * slider)(int) = &QSlider::valueChanged;
connect(ui->horizontalSlider,slider,ui->spinBox,&QSpinBox::setValue);
}
//设置数字
void SmallWidget::setNum(int num){
ui->spinBox->setValue(num);
}
//获取数字
int SmallWidget::getNum(){
return ui->spinBox->value();
}
SmallWidget::~SmallWidget()
{
delete ui;
}
- 编写按钮关联
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//获取当前值
connect(ui->btn,&QPushButton::clicked,[=](){
qDebug() << ui->widget->getNum();
});
//设置
connect(ui->btn2,&QPushButton::clicked,[=](){
ui->widget->setNum(50);
});
}
MainWindow::~MainWindow()
{
delete ui;
}
本文介绍如何在Qt中创建自定义UI类,使用QSpinBox和QSlider组件,并通过信号与槽机制实现两者间的联动。同时,展示了如何在主界面中加入按钮,并与自定义UI进行交互,设置和获取数值。
1894

被折叠的 条评论
为什么被折叠?



