news 2026/5/28 20:50:00

QSpinBox数值微调框组件笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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(); }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 2:02:49

AnimateDiff文生视频:快速部署指南,一键启动你的AI视频生成工具

AnimateDiff文生视频&#xff1a;快速部署指南&#xff0c;一键启动你的AI视频生成工具 1. 为什么选择AnimateDiff&#xff1f; 在AI视频生成领域&#xff0c;大多数工具要么需要高性能硬件支持&#xff0c;要么依赖云端服务。AnimateDiff的出现打破了这一局面&#xff0c;它…

作者头像 李华
网站建设 2026/5/23 2:02:34

面部性别转换 API 集成指南

在这篇文章中&#xff0c;我们将介绍如何使用面部性别转换 API。该 API 允许用户上传一张面部图片&#xff0c;并根据面部编辑与生成算法输出转换后的性别图像。无论是男性转女性的美化效果&#xff0c;还是女性转男性的胡须与短发效果&#xff0c;该 API 都能满足您的需求。 …

作者头像 李华
网站建设 2026/5/23 2:05:31

MGeo在智慧物流应用:运单地址自动纠错与标准地理编码映射

MGeo在智慧物流应用&#xff1a;运单地址自动纠错与标准地理编码映射 1. 引言&#xff1a;物流行业的“地址之痛” 想象一下&#xff0c;你是一位物流公司的调度员&#xff0c;每天要处理成千上万张运单。其中一张运单的收货地址写着&#xff1a;“北京市朝阳区望京SOHO塔3&a…

作者头像 李华
网站建设 2026/5/26 15:32:08

从零构建高可用Kubernetes集群:二进制部署v1.35.0实战指南

1. 环境准备与系统配置 在开始部署Kubernetes集群之前&#xff0c;我们需要确保所有节点具备一致的运行环境。这里以CentOS 7为例&#xff0c;其他Linux发行版的命令可能需要相应调整。 1.1 系统基础配置 首先在所有节点执行以下操作&#xff1a; # 关闭防火墙 systemctl disab…

作者头像 李华
网站建设 2026/5/23 2:05:31

JVM 内存管理 2026:深度解析与调优实战

JVM 内存管理 2026&#xff1a;深度解析与调优实战我是 Alex&#xff0c;一个在 CSDN 写 Java 架构思考的暖男。看到新手博主写技术踩坑记录总会留言&#xff1a;"这个 debug 思路很 solid&#xff0c;下次试试加个 circuit breaker 会更优雅。"我的文章里从不说空话…

作者头像 李华