Qt入门学习之常用界面设计组件(二)

QSpinBox用于整数的显示和输入,一般显示十进制,也可以显示二进制,十六进制的数,而且可以在显示框中增加前缀或者后缀。

SQpinBox组件的使用

以下面的实验作为载体学习QSpinBox和QDoubleSpinBox这两个组件的使用。功能和前一节的功能相同只是将组件QLineEdit换成了QSpinBox,QDoubleSpinBox作为数字的输入输出组件。如下所示:
在这里插入图片描述
QSpinBox 和 QDoubleSpinBox 都是 QAbstractSpinBox 的子类,具有大多数相同的属性,只是参数类型不同。在 UI 设计器里进行界面设计时,就可以设置这些属性。 QSpinBox 和 QDoubleSpinBox 的主要属性见下表:
在这里插入图片描述
提示一个属性在类的接口中一般有一个读取函数和一个设置函数,如 QDoubleSpinBox 的 decimals 属性,读取属性值的函数为 int decimals(),设置属性值的函数为 void setDecimals(int prec)。

实验中使用 QSpinBox 和 QdoubleSpinBox 进行数值量的输入输出,最终点击“计算”按钮显示最终计算的结果到QDoubleSpinBox,点击“十进制”按钮后面的“转换为其他进制"按钮,显示转换后的结果,实现代码如下:

void Widget::on_btnCal_clicked()
{  
    //计算
    int num=ui->spinNum->value();
    float price=ui->spinPrice->value();
    float total=num*price;
    ui->spinTotal->setValue(total);
}
void Widget::on_btnBin_clicked()
{
    //读取二进制数,-以其他进制显示
    int val=ui->spinBin->value ();
    ui->spinDec->setValue(val);
    ui->spinHex->setValue(val);
}

在使用 QSpinBox 和 QDoubleSpinBox 读取和设置数值时,无需做字符串与数值之间的转换,也无需做进制的转换,其显示效果(前缀、后缀、进制和小数位数)在设置好之后就自动按照效果进行显示,这对于数值的输入输出是非常方便的。

猜你喜欢

转载自blog.csdn.net/cainiaoxiakexing/article/details/88795282