Qt中的一些数据类型、进制转换

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大小写

你可能感兴趣的:(Qt)