7. Qt添加滑动条

前言:

添加一个这样的滑条,双方关联自动修改,也提供代码创建方式

技能:

QSpinBox

QSlider

方式一 Qt 的图形化编程(用ui文件,非常简单)

1.Spin Box

首先找到显示数字的这个部分。是input widget->spin box ,如果想用double型的就用下面的double spin box,拖出来一个

2.Slider

同样在input widget->里面最下面有slider,分为水平和垂直两种,看自己需要选择吧,也脱出来个

3.关联

拖出来排好布局

然后关联步骤也简单,只需要记得要两方面互相关联就好了

①VS2022使用Qt designer

直接在右下角的编辑器添加这两个就可以了,或者按照下面的一步一步加是一样的

++另一种添加方式:++不想用编辑器可以按照下面的,效果一样的

进入编辑信号/槽模式

从spin box拖到 slider 一个箭头,选择valuechange(int)到setvalue(int)

再反过来关联一下就好了

这就实现双向关联 ,记得最后保存

② Qt creator

可以和Qt designer 一样操作就好

至于右键转到槽用代码,我觉得不如上面的方便,这里不提供啦

方式二 编程实现

先直接放全代码

这是在Qt creator里面直接代码写出来的,也可以用上面的在ui文件中做出来

cpp 复制代码
#include "widget.h"

#include <QApplication>
#include<QHBoxLayout>
#include<QSpinBox>
#include<QSlider>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget* window = new QWidget;
    window->setWindowTitle("Tittle");
//创建窗口,设置tittle
    
    QSpinBox* spinBox = new QSpinBox;
    QSlider* slider = new QSlider(Qt::Horizontal);
    spinBox->setRange(0, 100);
    slider->setRange(0, 100);  
//new 出来想要的widget并设置范围,记得头文件包含
    
    QObject::connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));
    QObject::connect(slider,SIGNAL(valueChanged(int)),spinBox,SLOT(setValue(int)));
 //双向关联
    
    spinBox->setValue(22);
// 设置默认值
    
    QHBoxLayout* layout = new QHBoxLayout;
    layout->addWidget(spinBox);
    layout->addWidget(slider);
    window->setLayout(layout);
    window->show();
// 控件在窗口展示   
   
    return a.exec();
}

参考:

【Qt学习系列】7.Qt布局管理器

相关推荐
讳疾忌医丶1 小时前
深度拆解 RocksDB 内核:基于 C++17 的 FIFO 调度状态机与温度阶梯自愈设计
java·c++·算法·架构
2401_868534782 小时前
OpenStack 架构全景:八个核心组件深度拆解
c++·需求分析
软件课代表CiCi2 小时前
运行库是什么?电脑缺运行库怎么办?c++运行库缺失修复全攻略
开发语言·c++·windows·电脑·dll修复·dll丢失·运行库
蒸蒸yyyyzwd3 小时前
从面经中学到的三件事
c++·笔记
时时三省3 小时前
【时时三省】计算机c语言二级考试选择题重点
c++
ThornArmor6 小时前
重铸1996|肉体渲染:关节的裂缝:分段模型积木拼装与未成熟的 RSP 矩阵骨骼动画形变
c语言·汇编·c++·python·硬件架构·游戏机
Elsa️7468 小时前
算法一周刷题总结
c++·算法
风合星语8 小时前
2026 机器人工程实例(五):让 Allegro Hand 在 MuJoCo 中完成接触抓取——抓取状态机、稳定抬升与受控释放
c++·python·机器人·仿真
小羊没烦恼!8 小时前
Memory 记忆设计讨论:Agent Memory 的数据模型可以怎么设计
java·开发语言·前端·c++·c#
welfare9628 小时前
新号别搞:内存管理+模板初阶+STL简介
开发语言·c++