Qt学习笔记(二十五):QSpinBox 和 QDoubleSpinBox 的常用方法


1、设置 spinBox 显示数值的范围(默认范围是 0-99):

方法一:

    ui->spinBox->setRange(20, 30);

方法二:

    ui->spinBox->setMaximum(20);
    ui->spinBox->setMinimum(10);

2、设置 spinBox 数值每次增加的步长:

    // 设置 spinBox 的值每次增加 5    
    ui->spinBox->setSingleStep(5);

3、设置前缀:

    ui->spinBox->setPrefix("$ ");

效果:

4、设置后缀:

    ui->spinBox->setSuffix(" kg");

 效果:

5、获取 spinBox 上的值:

获取整个文本:包括前缀、后缀

    QString text = ui->spinBox->text();
    qDebug() << text;

获取纯数值文本(返回字符串):不包括前缀、后缀:

    QString text = ui->spinBox->cleanText();
    qDebug() << text;

获取 spinBox 的值(整型数字):

    int value = ui->spinBox->value();
    qDebug() << QString::number(value);


spinBox 常用的信号:当 spinBox 的值改变时触发的信号;

 

为 spinBox 控件添加槽:

第一步:右键控件,选择“转到槽...”:

第二步:在“转到槽”对话框中,选择信号,然后点击OK,即可自动生成槽函数了;

生成的槽函数如下所示:

void Widget::on_spinBox_valueChanged(const QString &value)
{
    // 获取到的是 spinBox 中的所有文本,包括前缀和后缀
    qDebug() << value;
}

void Widget::on_spinBox_valueChanged(int value)
{
    // 只获取 spinBox 的值
    qDebug() << QString::number(value);
}

QDoubleSpinBox 和 QSpinBox 用法一样,不同之处是数值由 int 型改成 double 类型。 


版权声明:本文为qq_29331365原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。