Qt中的一些数据类型、进制转换
1.简单的类型、进制转换
读取数据类型为十进制情况
QString str = ui->Dec->text(); //读取Dec数据
int val = str.toInt(); //缺省将字符串转换为十进制int型
str = str.setNum(val,16); //转换为十六进制
str = str.toUpper(); //十六进制字母大写
ui->Hex->setText(str); //显示
str =str.setNum(val,2); //转换为二进制
ui->Bin->setText(str); //显示
读取数据类型为非十进制情况
QString str = ui->Bin->text(); //读取Bin数据
bool ok;
int val = str.toInt(&ok,2); //将读取的二进制字符串转换为int二进制
str = str.setNum(val,16); //转换为十六进制
str = str.toUpper(); //大写
ui->Hex->setText(str); //显示
str =str.setNum(val,10); //转换为十进制
ui->Dec->setText(str); //显示
常用的类型转换为toFloat,toLong,toDouble,toFloat等等
2.LCD等相关类的进制转换方法
//10进制
ui->LCD->setDigitCount(3); //将LCD里数字限制为3位
ui->LCD->setDecMode(); //设置成10进制显示
//16进制
ui->LCD->setDigitCount(3); //将LCD里数字限制为3位
ui->LCD->setHexMode(); //设置成16进制显示
//2进制
ui->LCD->setDigitCount(10); //将LCD里数字限制为10位
ui->LCD->setBinMode(); //设置成2进制显示
3.QSpinBox类的简便设置方法
int hex = ui->Hex->value(); //读取Hex里的16进制数据
ui->Dec->setValue(hex); //转换为10进制在Dec里显示
ui->Bin->setValue(hex); //转换为2进制在Bin里显示
将QSpinBox控件的属性displayIntegerBase设置为10或16或2,如下图
toUpper,toLower大小写