Spin Box | Double Spin Box输入小部件函数学习篇
- 【1】UI设计布局
- 【2】setMinimum | setMaximum
- 【3】setPrefix | setSuffix
- 【4】setValue
- 【5】setDisplayIntegerBase
- 【6】setSingleStep
- 【7】value
- 【8】举例
【1】UI设计布局
【2】setMinimum | setMaximum
setMinimum 此属性保持自旋框的最小值,在设置此属性时,必要时将调整最大值,以确保该范围保持有效。默认的最小值为0。
setMaximum 此属性保持旋转框的最大值,当设置此属性时,必要时将调整最小值,以确保该范围保持有效。默认的最大值为99。
ui->s1->setMinimum(0);//设置最小值
ui->s1->setMaximum(65535);//设置最大值
【3】setPrefix | setSuffix
setPrefix 此属性保留旋转框的前缀,前缀前加到显示值的开头。典型的用法是显示一个计量单位或一个货币符号。例如
若要关闭前缀显示,请将此属性设置为空字符串。默认值是没有前缀。当设置value() == minimum() 和特殊值文本()时,不会显示前缀。
setSuffix此属性保存自旋框的后缀,该后缀将附加到所显示值的末尾。典型的用法是显示一个计量单位或一个货币符号。例如
若要关闭后缀显示,请将此属性设置为空字符串。默认值是没有后缀。如果设置了指定值文本(),则最小()不显示后缀。
ui->s1->setPrefix("kg ");//设置前缀
ui->s1->setSuffix(" kg");//设置后缀
【4】setValue
此属性保存旋转箱的值
ui->s1->setValue(4);//设置当前值
【5】setDisplayIntegerBase
此属性保存用于显示旋转框值的基,默认显示基值为10。代表十进制
ui->s1->setDisplayIntegerBase(10);//显示进制10
【6】setSingleStep
当用户使用箭头更改旋转框的值时,此属性保存步长值,该值将按单个步长的数量递增/减少。默认值为1。设置单步值小于0将无效。
ui->s1->setSingleStep(2);//每次点击上下箭头 +2 或者 -2
【7】value
int num = ui->s1->value();//获取值
【8】举例
//Spin Box->选值框
void MainWindow::on_str_8_clicked()
{
ui->textEdit->append("初始化 Spin Box 选值框");
ui->s1->clear();
ui->s2->clear();
ui->s3->clear();
ui->s4->clear();
ui->d1->clear();
ui->d2->clear();
ui->stackedWidget->setCurrentIndex(1);
//初始化
ui->s1->setMinimum(0);//设置最小值
ui->s1->setMaximum(65535);//设置最大值
//ui->s1->setPrefix("kg ");//设置前缀
ui->s1->setSuffix(" kg");//设置后缀
ui->s1->setValue(4);//设置当前值
ui->s1->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);//设置文本左对齐 垂直方向
ui->s1->setDisplayIntegerBase(10);//显示进制10
ui->s1->setSingleStep(2);//每次点击上下箭头 +2 或者 -2
ui->d1->setMinimum(0.00);//设置最小值
ui->d1->setMaximum(65535.00);//设置最大值
ui->d1->setPrefix("$ ");//设置前缀
//ui->d1->setSuffix(" kg");//设置后缀
ui->d1->setValue(10.00);//设置当前值
ui->d1->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);//设置文本左对齐 垂直方向
ui->d1->setSingleStep(2);//每次点击上下箭头 +2 或者 -2
ui->d1->setDecimals(2);//显示2位小数
ui->d2->setMinimum(0.00);//设置最小值
ui->d2->setMaximum(65535.00);//设置最大值
ui->d2->setPrefix("$ ");//设置前缀
//ui->d2->setSuffix(" kg");//设置后缀
ui->d2->setValue(10.00);//设置当前值
ui->d2->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);//设置文本左对齐 垂直方向
ui->d2->setSingleStep(2);//每次点击上下箭头 +2 或者 -2
ui->d2->setDecimals(2);//显示2位小数
ui->s2->setMinimum(0);//设置最小值
ui->s2->setMaximum(10000);//设置最大值
ui->s2->setPrefix("Dec ");//设置前缀
ui->s2->setValue(15);//设置当前值
ui->s2->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);//设置文本左对齐 垂直方向
ui->s2->setDisplayIntegerBase(10);//设置显示整数基数 显示进制10
ui->s2->setSingleStep(1);//每次点击上下箭头 +1 或者 -1
ui->s3->setPrefix("Bin ");//设置前缀
ui->s3->setValue(1);//设置当前值
ui->s3->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);//设置文本左对齐 垂直方向
ui->s3->setDisplayIntegerBase(2);//设置显示整数基数 显示进制2
ui->s3->setSingleStep(1);//每次点击上下箭头 +1 或者 -1
ui->s4->setMinimum(0);//设置最小值
ui->s4->setMaximum(10000);//设置最大值
ui->s4->setPrefix("Hex ");//设置前缀
ui->s4->setValue(0x0F);//设置当前值
ui->s4->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);//设置文本左对齐 垂直方向
ui->s4->setDisplayIntegerBase(16);//设置显示整数基数 显示进制16
ui->s4->setSingleStep(1);//每次点击上下箭头 +1 或者 -1
}
//计算按钮
void MainWindow::on_str_5_clicked()
{
//开始计算
int num = ui->s1->value();//数量
float price = ui->d1->value();//价格
float total = price * num;
ui->d2->setValue(total);//总价
ui->textEdit->append("开始计算总价\r\n\
int num = ui->s1->value();//数量\n\
float price = ui->d1->value();//价格\n\
float total = price * num;\n\
ui->d2->setValue(total);//总价\n");
}
//二进制-》十进制 十六进制
void MainWindow::on_Bin_pressed()
{
int bin = ui->s3->value();
ui->s2->setValue(bin);//十进制
ui->s4->setValue(bin);//十六进制
ui->textEdit->append("二进制-》十进制 十六进制\r\n\
int bin = ui->s3->value();\n\
ui->s2->setValue(bin);//十进制\n\
ui->s4->setValue(bin);//十六进制\n");
}
//十进制-》二进制 十六进制
void MainWindow::on_str_6_released()
{
int dec = ui->s2->value();
ui->s3->setValue(dec);//二进制
ui->s4->setValue(dec);//十六进制
ui->textEdit->append("十进制-》二进制 十六进制\r\n\
int dec = ui->s2->value();\n\
ui->s3->setValue(dec);//二进制\n\
ui->s4->setValue(dec);//十六进制\n");
}
//十六进制-》 十进制 二进制
void MainWindow::on_clear_2_clicked(bool checked)
{
int hex = ui->s4->value();
ui->s3->setValue(hex);//二进制
ui->s2->setValue(hex);//十进制
ui->textEdit->append("十六进制-》 十进制 二进制\r\n\
int hex = ui->s4->value();\n\
ui->s3->setValue(hex);//二进制\n\
ui->s2->setValue(hex);//十进制\n");
}