QSpinBox用于整数的显示和输入,一般显示十进制数,也可以显示二进制、十六进制数,而且可以在显示框中增加前缀和后缀。QDoubleSpinBox用于浮点数的显示和输入,可以设置显示小数位数,也可以设置显示的前缀和后缀。
样式示例
代码示例
SpinBoxDemoDialog.h
#ifndef SPINBOXDEMODIALOG_H
#define SPINBOXDEMODIALOG_H#include <QDialog>namespace Ui
{class SpinBoxDemoDialog;
}class SpinBoxDemoDialog : public QDialog
{Q_OBJECTpublic:explicit SpinBoxDemoDialog(QWidget* parent = nullptr);~SpinBoxDemoDialog();private slots:void on_decimalism_sb_valueChanged(int arg1);private:Ui::SpinBoxDemoDialog* ui;
};#endif // SPINBOXDEMODIALOG_H
SpinBoxDemoDialog.cpp
#include "SpinBoxDemoDialog.h"
#include "ui_SpinBoxDemoDialog.h"SpinBoxDemoDialog::SpinBoxDemoDialog(QWidget* parent): QDialog(parent), ui(new Ui::SpinBoxDemoDialog)
{ui->setupUi(this);this->setWindowTitle("SpinBoxDemo");//后缀ui->num_sp->setSuffix("kg");//最小值ui->num_sp->setMinimum(0);//最大值ui->num_sp->setMaximum(255);//当前显示的值ui->num_sp->setValue(5);//前缀ui->signal_price->setPrefix("$");//单击上下调整按钮时的单步改变值ui->signal_price->setSingleStep(0.1);ui->all_price->setPrefix("$");ui->all_price->setSingleStep(1);//二进制ui->binary_sb->setDisplayIntegerBase(2);//十进制ui->decimalism_sb->setDisplayIntegerBase(10);//十六进制ui->sexadecimal_sb->setDisplayIntegerBase(16);
}SpinBoxDemoDialog::~SpinBoxDemoDialog()
{delete ui;
}void SpinBoxDemoDialog::on_decimalism_sb_valueChanged(int arg1)
{ui->binary_sb->setValue(arg1);ui->sexadecimal_sb->setValue(arg1);
}