【qt】数值的输入与输出2:https://developer.aliyun.com/article/1522983
5.QDial表盘
目标效果:
话不多说,直接拖放:
修改范围:
显示刻度:
直接转到槽:
还是这个信号
代码:
void Dialog::on_dial_valueChanged(int value) { QString ret=QString::asprintf("%d Km/h",value); ui->label->setText(ret); }
先转换成为字符串再添加到标签组件
运行结果:
帅呆了,是不是像车的表盘,哈哈
现在我们还可以添加一个进度条:
void Dialog::on_dial_valueChanged(int value) { QString ret=QString::asprintf("%d Km/h",value); ui->label->setText(ret); ui->progressBar->setValue(value); }
运行结果:
记得进度条的范围要和轮盘的一样哦。
6.QLcdnumber lcd显示
目标图:
这里需要一个LCD Number组件
老规矩,先拖放吧
可以用Group Box来把后面同一类的单选按钮放在一起,然后可以对group内进行布局。
先对三个组件进行一个水平布局,然后对窗口进行一个垂直布局
默认选中10进制,LCD显示3位数
先对表盘进行转到槽:
void Dialog::on_dial_valueChanged(int value) { ui->lcdNumber->display(value);//LCD的显示 }
然后对几个单选按钮进行转到槽:
void Dialog::on_radioButton10_clicked() { ui->lcdNumber->setDigitCount(3);//LCD显示3位数 ui->lcdNumber->setDecMode();//设置为10进制; } void Dialog::on_radioButton2_clicked() { ui->lcdNumber->setDigitCount(8); ui->lcdNumber->setBinMode(); } void Dialog::on_radioButton8_clicked() { ui->lcdNumber->setDigitCount(3); ui->lcdNumber->setOctMode(); } void Dialog::on_radioButton16_clicked() { ui->lcdNumber->setDigitCount(3); ui->lcdNumber->setHexMode(); }
一个是设置位数,一个是设置进制不用我多说了吧
效果展示:
真的很好玩,你也去试试吧,一直转盘。
五.总结一下下
经过这些小项目,想必你应该对数值的输入和输出有了自己的理解
说白了就是为了适应界面的输入和输出。
界面有的组件需要字符串,而计算我们需要数值,所有我们需要根据我们的需求来进行转换。
OK了,也算是搞完了,好累!加油
不积蹞步,无以至千里; 不积小流,无以成江海