找回密码
 立即注册
Qt开源社区 门户 查看内容

Qt编程1200例子-QSpinBox的基本操作

2019-2-9 11:47| 发布者: admin| 查看: 2629| 评论: 0

摘要: 作者:Qt编程 0034设置QspinBox的值QSpinBox*spin=newQSpinBox(this); spin-setValue(10);这里没有什么好赘述的0035 设置QspinBox的上下限setMaximum()和setMinimum()函数用于设置上下限,在很多类里面都可以看到这 ...
作者:Qt编程

0034设置QspinBox的值


QSpinBox*spin=newQSpinBox(this);

   spin->setValue(10);

这里没有什么好赘述的

0035 设置QspinBox的上下限


setMaximum()和setMinimum()函数用于设置上下限,在很多类里面都可以看到这种函数。

spin->setMaximum(20);

spin->setMinimum(9);

如上的代码将会限制数值只能在9-20之间,而不能超出范围,即使你手动输入也不可以

还有一种就是直接设置范围:

spin->setRange(0,100);

将会直接控制数值在0-100之间

0036设置QspinBox的数据展示进制


setDisplayIntegerBase()函数用于决定数据以哪种进制展示,默认的是10进制。

spin->setDisplayIntegerBase(16);

以上的这段代码,将会使得spin中的数值,按照16进制的数据显示

0037响应数值变化



响应的原理很简单,就是根据每次改变数值发射出的信号,来实现响应的变化,Qt中的信号槽机制,是用来响应一些操作的最方便形式。

首先声明一个槽出来:

   publicslots:

voidtitleChanged(inta);

然后我们连接信号和槽:

connect(spin,SIGNAL(valueChanged(int)),this,SLOT(titleChanged(int)));

最后在槽函数中实现相应的功能:

voidMainWindow::titleChanged(inta)

{

    this->setWindowTitle(QString::number(a));

}

运行后,标题将始终等于spin中的值。

0038 设置QspinBox的前后缀


有些时候,你不得不设置前后缀,比如显示金额,相应的要有货币标志;显示距离,要有对应的距离单位。

setPrefix(const QString &prefix)和setSuffix(const QString &suffix)分别用于设置前后缀

示例如下:

        spin->setPrefix("前缀");

   spin->setSuffix("后缀");



0039设置步长


setSingleStep(int val)函数用于设置每一步的长度,简单来说就是每次点击上/下按钮,它的变化幅度,比如我们设置步长为2

spin->setSingleStep(2);

那么,每一次你点击按钮,它的变化值是+2或者-2

0040设置特殊字符


如果你要显示非数字,可能唯一的想法是前后缀才能实现,但是那种实现方式是及其不灵活的。尽管利用QspinBox显示特殊字符的情况很少,Qt还是考虑到了,因此有setSpecialValueText(const QString &txt)来实现这个功能。

spin->setSpecialValueText("特殊字符");



利用这个函数你可以轻易的实现汉字输入。

不过要注意的是,如果你用这种方式带入了浮点数,它依旧会认为是字符而不是数字。

0041 设置浮点数


正如上面所展示的那样,它可以显示和操作数字,可以显示特殊字符,却不能实现对浮点数的操作,也就是说它的数值不能是浮点数。

因此,Qt提供了一个QdoubleSpinBox类来显示

   QDoubleSpinBox*doubleSpin=newQDoubleSpinBox(this);

   doubleSpin->setValue(1.1);

   doubleSpin->setSingleStep(2);




-------------------------------------------------------------------------
我们尊重原创,也注重分享,如若侵权请联系qter@qter.org。
-------------------------------------------------------------------------

1人点赞鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)


公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了