QSpinBox用于整数的显示和输入,一般显示十进制数,也可以显示二进制、十六进制数,而且可以在显示框中增加前缀和后缀。QDoubleSpinBox用于浮点数的显示和输入,可以设置显示小数位数,也可以设置显示的前缀和后缀。
样式示例
代码示例
SpinBoxDemoDialog.h
cpp
#ifndef SPINBOXDEMODIALOG_H
#define SPINBOXDEMODIALOG_H
#include <QDialog>
namespace Ui
{
class SpinBoxDemoDialog;
}
class SpinBoxDemoDialog : public QDialog
{
Q_OBJECT
public:
explicit SpinBoxDemoDialog(QWidget* parent = nullptr);
~SpinBoxDemoDialog();
private slots:
void on_decimalism_sb_valueChanged(int arg1);
private:
Ui::SpinBoxDemoDialog* ui;
};
#endif // SPINBOXDEMODIALOG_H
SpinBoxDemoDialog.cpp
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);
}