ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Qt入门系列开发教程【基础控件篇】QSpinBox旋转框

2022-02-04 15:02:43  阅读:246  来源: 互联网

标签:控件 const Qt QSpinBox void int prefix QString


描述

在这里插入图片描述

QSpinBox 旨在处理整数和离散值集(例如,月份名称);将 QDoubleSpinBox 用于浮点值。
QSpinBox 允许用户通过单击向上/向下按钮或按键盘上的向上/向下键来增加/减少当前显示的值。用户也可以手动输入值。旋转框支持整数值,但可以通过 validate()、textFromValue() 和 valueFromText() 扩展为使用不同的字符串。
每次值更改时,QSpinBox 都会发出 valueChanged() 和 textChanged() 信号,前者提供一个 int,后者提供一个 QString。 textChanged() 信号提供带有 prefix() 和 suffix() 的值。可以使用 value() 获取当前值并使用 setValue() 设置。
单击向上/向下按钮或使用键盘加速器的向上和向下箭头将增加或减少当前值,步长为 singleStep()。如果你想改变这种行为,你可以重新实现虚函数 stepBy()。可以使用构造函数之一设置最小值和最大值以及步长,稍后可以使用 setMinimum()、setMaximum() 和 setSingleStep() 进行更改。
大多数旋转框是定向的,但 QSpinBox 也可以作为圆形旋转框运行,即如果范围为 0-99,当前值为 99,如果 wrapping() 设置为 true,则单击“向上”将给出 0。如果您想要循环行为,请使用 setWrapping()。
显示的值可以添加任意字符串,例如货币或计量单位。请参阅 setPrefix() 和 setSuffix()。旋转框中的文本使用 text()(包括任何 prefix() 和 suffix())或 cleanText()(没有 prefix()、suffix() 并且没有前导或尾随空格)检索。
除了数值范围之外,通常还需要给用户一个特殊的(通常是默认的)选择。有关如何使用 QSpinBox 执行此操作,请参阅 setSpecialValueText()。

如果使用 prefix()、suffix() 和 specialValueText() 不能提供足够的控制,您可以继承 QSpinBox 并重新实现 valueFromText() 和 textFromValue()。 例如,这是一个自定义旋转框的代码,它允许用户输入图标大小(例如,“32 x 32”):

 int IconSizeSpinBox::valueFromText(const QString &text) const
 {
     static const QRegularExpression regExp(tr("(\\d+)(\\s*[xx]\\s*\\d+)?"));
     Q_ASSERT(regExp.isValid());

     const QRegularExpressionMatch match = regExp.match(text);
     if (match.isValid())
         return match.captured(1).toInt();
     return 0;
 }

 QString IconSizeSpinBox::textFromValue(int value) const
 {
     return tr("%1 x %1").arg(value);
 }

API

//清除文本
QString cleanText() const
//此属性保存用于显示旋转框值的基数
 int displayIntegerBase() const
//获取最大值
 int maximum() const
 //获取最小值
 int minimum() const
 //获取前缀
 QString prefix() const
 //设置进制数
 void setDisplayIntegerBase(int base)
 //设置最大值
 void setMaximum(int max)
 //设置最小值
 void setMinimum(int min)
 //设置后缀
 void setPrefix(const QString &prefix)
 //设置范围
 void setRange(int minimum, int maximum)
 //设置步长
 void setSingleStep(int val)
//设置 单步或自适应小数步。
 void setStepType(QAbstractSpinBox::StepType stepType)
 //设置前缀
 void setSuffix(const QString &suffix)
 //获取步长
 int singleStep() const
 //获取步长类型
 QAbstractSpinBox::StepType stepType() const
//获取前缀
 QString suffix() const
 //获取值
 int value() const

标签:控件,const,Qt,QSpinBox,void,int,prefix,QString
来源: https://blog.csdn.net/hiwoshixiaoyu/article/details/122726740

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有