目录
输入类控件QSpinBox的属性
使用QSpinBox与QDoubleSpinBox表示“微调框”,他是带有按钮的输入框,可以用来输入整数或者浮点数,通过点击按钮来修改数值大小。
QSpinBox表示修改整数,QDoubleSpinBox表示修改浮点数,下面主要对QSpinBox进行讲述。
关键属性
属性 | 说明 |
---|---|
value | 存储的数值 |
singleStep | 每次调整的 "步⻓". 按下⼀次按钮数据变化多少 |
displayInteger | 数字的进制. 例如 displayInteger 设为 10, 则是按照 10 进制表⽰. 设为 2 则为 2 进制表⽰ |
minimum | 最小值 |
maximum | 最⼤值 |
suffix | 后缀 |
prefix | 前缀 |
wrapping | 是否允许换⾏ |
frame | 是否带边框 |
alignment | ⽂字对⻬⽅式 |
readOnly | 是否允许修改 |
buttonSymbol | 按钮上的图标
|
accelerated (加速的) | 按下按钮时是否为快速调整模式 |
correctionMode | 输⼊有误时如何修正.
|
keyboardTrack | 是否开启键盘跟踪.
|
核心信号
信号 | 说明 |
---|---|
textChanged(QString) | 微调框的⽂本发⽣改变时会触发. 参数 QString 带有 前缀 和 后缀. |
valueChanged(int) | 微调框的⽂本发⽣改变时会触发. 参数 int, 表⽰当前的数值. |
例子:调整购物车中的份数
(1)创建三个下拉框、三个微调框、三个标签、一个按钮
(2)初始化下拉框、微调框
(3)给按钮添加slot函数
widget.cpp代码实现:
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//初始化下拉框
ui->comboBox->addItem("鸡腿堡");
ui->comboBox->addItem("牛肉堡");
ui->comboBox->addItem("虾堡");
ui->comboBox_2->addItem("薯条");
ui->comboBox_2->addItem("鸡块");
ui->comboBox_2->addItem("鸡翅");
ui->comboBox_3->addItem("可乐");
ui->comboBox_3->addItem("雪碧");
//初始化微调框
ui->spinBox->setRange(1, 10);
ui->spinBox_2->setRange(1, 10);
ui->spinBox_3->setRange(1, 10);
ui->spinBox->setValue(1);
ui->spinBox_2->setValue(1);
ui->spinBox_3->setValue(1);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()
{
ui->label_4->setText("您购买的套餐为:"
+ ui->comboBox->currentText() + "一共 " + QString::number(ui->spinBox->value()) + " 份" + ", \n"
+ ui->comboBox_2->currentText() + "一共 " + QString::number(ui->spinBox_2->value()) + " 份" + ", \n"
+ ui->comboBox_3->currentText() + "一共 " + QString::number(ui->spinBox_3->value()) + " 份" + ", \n"
+ "谢谢你的购买!!");
}