当前位置: 首页 > news >正文

QSpinBox数值微调框组件笔记

  • 数值输入:适用于需要用户输入整数值的场景,如设置计算参数、调整数量等。

  • 调整参数:在需要进行微小调整的地方,提供直观的增减按钮。

  • 限制输入范围:当需要确保用户输入在一定范围内时,可以设置参数的最大值和最小值;

  • 只读展示:可以用于只读展示某个数值,不允许用户修改。

    以下是QSpinBox类的一些常用方法API,说明并概述成表格:

    方法API描 述
    QSpinBox(QWidget *parent = nullptr)构造函数,创建一个整数微调框。
    int value() const获取当前微调框中的整数值。
    void setValue(int value)设置微调框的整数值。
    int minimum() const获取微调框的最小值。
    void setMinimum(int min)设置微调框的最小值。
    int maximum() const获取微调框的最大值。
    void setMaximum(int max)设置微调框的最大值。
    int singleStep() const获取单步步进值,即微调框在每次增减操作时的变化量。
    void setSingleStep(int step)设置单步步进值。
    int prefix() const获取前缀(显示在值之前的文本)。
    void setPrefix(const QString &prefix)设置前缀。
    int suffix() const获取后缀(显示在值之后的文本)。
    QString cleanText() const获取文本表示的干净值,即不包含前缀和后缀的纯文本值。
    bool wrapping() const检查微调框是否启用了循环,即在达到最大或最小值时是否绕回。
    void setWrapping(bool on)启用或禁用微调框的循环。
    void stepUp()将微调框的值增加一个单步步进值
    void stepDown()将微调框的值减少一个单步步进值。
    void setAccelerated(bool on)启用或禁用加速,即按住上下箭头时值的变化速度是否逐渐加快。
    bool isAccelerated() const检查是否启用了加速。
    void setReadOnly(bool ro)设置微调框为只读模式,禁止用户编辑值。
    bool isReadOnly() const检查微调框是否为只读模式。
    void setAlignment(Qt::Alignment align)设置微调框中文本的对齐方式。
    Qt::Alignment alignment() const获取微调框中文本的对齐方式。
    void setButtonSymbols(QAbstractSpinBox::ButtonSymbols bs)设置增减按钮的显示方式。
    QAbstractSpinBox::ButtonSymbols buttonSymbols() const获取增减按钮的显示方式。

    这些方法涵盖了QSpinBox类中一些常用的设置和获取整数微调框属性的功能。其信号部分

    信号声明信号说明
    void textChanged(const QString &text)微调框的文本发生改变时会触发,参数QString带有前缀和后缀
    void valueChanged(int i)微调框的⽂本发⽣改变时会触发,参数 int,表示当前的数值

接下来将用一个简单的案例展示如何使用 QSpinBox组件,该组件有两个版本:QSpinBox用于展示单精度浮点数,而QDoubleSpinBox()则可以展示精度更高的数值,需要注意的是,该组件有两个特殊参数,当使用setPrefix() 时可以指定在前方加入特殊符号,而使用 setSuffix() 时则可以在后方追加特殊符号,我们就可以后方追加为例。

以下是一个使用 QSpinBox 的 C++ Qt 示例,展示了如何创建控件、设置属性并连接信号:

#include <QApplication> #include <QWidget> #include <QSpinBox> #include <QVBoxLayout> #include <QDebug> class MainWindow : public QWidget { Q_OBJECT public: MainWindow() { QSpinBox *spinBox = new QSpinBox(this); spinBox->setRange(0, 100); // 设置范围 0-100 spinBox->setValue(10); // 设置初始值 spinBox->setSingleStep(5); // 设置步长为 5 // 连接值改变信号到槽函数 connect(spinBox, QOverload<int>::of(&QSpinBox::valueChanged), this, &MainWindow::onValueChanged); QVBoxLayout *layout = new QVBoxLayout(this); layout->addWidget(spinBox); } public slots: void onValueChanged(int value) { qDebug() << "Spin box value changed to:" << value; } }; int main(int argc, char *argv[]) { QApplication app(argc, argv); MainWindow window; window.show(); return app.exec(); }
http://www.jsqmd.com/news/576730/

相关文章:

  • Cowabunga Lite:iOS 15+设备免越狱个性化解决方案
  • 将大疆无人机GPS数据接入ROS:一份从PSDK C++示例到sensor_msgs/NavSatFix话题的完整改造指南
  • 霞鹜文楷屏幕阅读版:告别屏幕阅读疲劳的神奇字体解决方案
  • 解锁开源字体高效排版:Inter字体的12个实用技术特性
  • 2026年上一年级选择苏州哪家国际学校更合适 - 品牌排行榜
  • 昇腾910B分布式微调避坑指南:从SSH免密到权重合并的5个常见问题
  • 2026年深圳离婚难题来袭,口碑好的离婚律师团队究竟该选哪家?
  • TPAMI 2025 | 形变感知配准 + 特征交互融合,遥感目标检测精度效率双提升
  • 【云途出海】为什么FB广告账户的时区设置,是投放成败的关键?
  • 从‘山峰’与‘山谷’的比喻理解拉普拉斯锐化:一个MATLAB小白的图像处理笔记
  • U盘泄密怎么办?分享六种防止U盘泄密的方法,有效防止U盘泄密
  • 全新瑞祥黑金卡回收多少,2026年市场行情 - 淘淘收小程序
  • C语言:构造类型
  • 用Python为你的QQ空间记忆打造专属数字档案馆
  • IdentityServer4 中 Invalid redirect_uri 错误的排查与修复指南
  • 客服机器人系统会不会发生宕机?Agent开放平台保障有哪些,数据安全不过关能赔?
  • 炸锅!Claude Code 完整源码意外泄露,51 万行核心代码直接开源!
  • 探讨2026襄阳能降推广成本的营销公司,哪家性价比高 - 工业品网
  • 多语言项目管理软件平台 含搭建教程 操作说明
  • 电商数据采集防封全攻略:从反爬机制拆解到技术落地
  • 别再死记硬背了!用‘热力学黑箱’思维理解Abaqus UMATHT子程序
  • nginx的docker镜像封禁地区IP
  • AQRC智金未来:全球资产配置的算法革命已来
  • 如何提高YOLO8目标检测的准确性?
  • 中国主要农作物生长发育数据集(V2.0)谁有
  • 苹果 50 年:品味如何定义产品与行业格局
  • C++ 工厂模式(转载)
  • 课灵h5p-标签页 (Tabs)教程
  • 矿明 102V 开发板进入U-Booot, uatr-boot 烧录模式____进行烧录升级
  • 【AI】AI安全工具:AI应急响应工具的使用与配置