QDoubleSpinBox即可以做为数值型输入框使用,也可以使用只读型数据显示框,在作为输入框使用时比QLineEdit有以下几个方面的优势
1.可以设置范围,并且范围精确,
2.输入数据精确,自动屏幕非数值以外的字符。
3.设置步长后可以通过上下键自动增减值。
本篇记录QDoubleSpinBox的基本使用。
1.QDoubleSpinBox的基本示例,设置QDoubleSpinBox的范围为0-100.0,步长为10
ui->doubleSpinBox->setRange(0, 100.0); //设置范围
ui->doubleSpinBox->setSingleStep(10.0); //设置步长
这个时候可以通过手动输入0-100之内的浮点数,也可以按键盘上下键增减数值
这里是初始化就已经设置的范围及步长,其实我们也可以随时改变他的范围及步长,例如:
ui->doubleSpinBox->setRange(50, 60); //设置范围50-60
ui->doubleSpinBox->setSingleStep(0.5); //设置步长0.5
ui->doubleSpinBox->setValue(55.2); //设置默认值为55.2
2.有时候为了美观,我们并不需要右边的按钮,并且输入框界面也要需要按自动的要求美化
ui->doubleSpinBox_2->setRange(-50.0, 50.0); //设置范围
ui->doubleSpinBox_2->setSingleStep(10.0); //设置步长
QString style2 = QString("QDoubleSpinBox{background-color:#E9E9EA;color:#6D6E6B;border-radius:5px;line-height: 20px;}"
"QDoubleSpinBox:checked{background-color:#E9E9EA;border-radius:5px;border:2px solid rgba(47, 137, 252, 1);}"
"QDoubleSpinBox:hover{background-color:#E9E9EA;border-radius:5px;border:2px solid rgba(47, 137, 252, 1);}"
"QDoubleSpinBox:focus{background-color:#E9E9EA;border-radius:5px;border:2px solid rgba(47, 137, 252, 1);}"
"QDoubleSpinBox:disabled{background-color:#F0F0F0;border-radius:5px;}"
);
ui->doubleSpinBox_2->setStyleSheet(style2);
ui->doubleSpinBox_2->setButtonSymbols(QDoubleSpinBox::NoButtons); //隐藏右边上下箭头按钮