作者: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。 ------------------------------------------------------------------------- |