很久没有开始没写文章了,挺对不起一些支持我的博友。一些博友也经常给我发私信叫我写文章,其实写文章真心还挺不错的,以前文章过于基础但很实用。现在在公司开始做实际开发,以后逐渐会给大家分享实际的代码。以前把那个群解散了,也挺对不起大家的,现在我会重新建群。
到公司发现很多时候需要用到进制转换器,然后我第一天上班就开发了一个,这里会分享代码,工程文件,以及制作好的工具。
代码写得不够简洁,大家凑合用吧,但是工具还是挺实用的。
项目工程源码下载地址:http://download.csdn.net/download/qq_21792169/9931764
工具下载地址:http://download.csdn.net/download/qq_21792169/9931740
界面效果如下:
主要代码如下:
#include "widget.h"
#include "ui_widget.h"
#include <QString>
#include <QDebug>
#include <QPalette>
#include <QFont>
ViewBit::ViewBit(QWidget *parent) :
QDialog(parent),
ui(new Ui::ViewBit)
{
ui->setupUi(this);
QPalette pa;
QFont ft;
connect(ui->label_data_00,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_01,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_02,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_03,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_04,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_05,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_06,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_07,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_08,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_09,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_10,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_11,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_12,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_13,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_14,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_15,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_16,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_17,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_18,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_19,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_20,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_21,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_22,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_23,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_24,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_25,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_26,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_27,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_28,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_29,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_30,SIGNAL(clicked(bool)),this,SLOT(button_click()));
connect(ui->label_data_31,SIGNAL(clicked(bool)),this,SLOT(button_click()));
ui->label_2->setOpenExternalLinks(true);
ui->label_2->setText(tr("<a href=\"http://blog.csdn.net/qq_21792169/\">By Design Linux_Google"));
ft.setPointSize(16);
pa.setColor(QPalette::WindowText,Qt::red);
ui->label_all->setPalette(pa);
ui->label_all->setFont(ft);
ui->label_2->setPalette(pa);
ft.setPointSize(12);
ui->label_name_31->setFont(ft);
ui->label_name_30->setFont(ft);
ui->label_name_29->setFont(ft);
ui->label_name_28->setFont(ft);
ui->label_name_27->setFont(ft);
ui->label_name_26->setFont(ft);
ui->label_name_25->setFont(ft);
ui->label_name_24->setFont(ft);
ui->label_name_23->setFont(ft);
ui->label_name_22->setFont(ft);
ui->label_name_21->setFont(ft);
ui->label_name_20->setFont(ft);
ui->label_name_19->setFont(ft);
ui->label_name_18->setFont(ft);
ui->label_name_17->setFont(ft);
ui->label_name_16->setFont(ft);
ui->label_name_15->setFont(ft);
ui->label_name_14->setFont(ft);
ui->label_name_13->setFont(ft);
ui->label_name_12->setFont(ft);
ui->label_name_11->setFont(ft);
ui->label_name_10->setFont(ft);
ui->label_name_09->setFont(ft);
ui->label_name_08->setFont(ft);
ui->label_name_07->setFont(ft);
ui->label_name_06->setFont(ft);
ui->label_name_05->setFont(ft);
ui->label_name_04->setFont(ft);
ui->label_name_03->setFont(ft);
ui->label_name_02->setFont(ft);
ui->label_name_01->setFont(ft);
ui->label_name_00->setFont(ft);
ui->label_name_31->setPalette(pa);
ui->label_name_30->setPalette(pa);
ui->label_name_29->setPalette(pa);
ui->label_name_28->setPalette(pa);
ui->label_name_27->setPalette(pa);
ui->label_name_26->setPalette(pa);
ui->label_name_25->setPalette(pa);
ui->label_name_24->setPalette(pa);
ui->label_name_23->setPalette(pa);
ui->label_name_22->setPalette(pa);
ui->label_name_21->setPalette(pa);
ui->label_name_20->setPalette(pa);
ui->label_name_19->setPalette(pa);
ui->label_name_18->setPalette(pa);
ui->label_name_17->setPalette(pa);
ui->label_name_16->setPalette(pa);
ui->label_name_15->setPalette(pa);
ui->label_name_14->setPalette(pa);
ui->label_name_13->setPalette(pa);
ui->label_name_12->setPalette(pa);
ui->label_name_11->setPalette(pa);
ui->label_name_10->setPalette(pa);
ui->label_name_09->setPalette(pa);
ui->label_name_08->setPalette(pa);
ui->label_name_07->setPalette(pa);
ui->label_name_06->setPalette(pa);
ui->label_name_05->setPalette(pa);
ui->label_name_04->setPalette(pa);
ui->label_name_03->setPalette(pa);
ui->label_name_02->setPalette(pa);
ui->label_name_01->setPalette(pa);
ui->label_name_00->setPalette(pa);
}
ViewBit::~ViewBit()
{
delete ui;
}
void ViewBit::on_lineEdit_textChanged(const QString &arg1)
{
bool ok;
unsigned int count=1,temp,Binary[32]={0};
QString tempStr;
QString valueStr=ui->lineEdit->text(); /* Input a Hex string */
unsigned long valueInt = valueStr.toUInt(&ok,16); /* string convert to Dec */
ui->lineEdit_2->setText(tempStr.setNum(valueInt));
Binary[0]=valueInt%2;
do
{
valueInt=valueInt/2;
temp=valueInt%2;
Binary[count++]=temp;
}while(valueInt!=0);
qDebug() << "31wei = " << Binary[31] <<endl;
ui->label_data_00->setText(tempStr.setNum(Binary[0]));
ui->label_data_01->setText(tempStr.setNum(Binary[1]));
ui->label_data_02->setText(tempStr.setNum(Binary[2]));
ui->label_data_03->setText(tempStr.setNum(Binary[3]));
ui->label_data_04->setText(tempStr.setNum(Binary[4]));
ui->label_data_05->setText(tempStr.setNum(Binary[5]));
ui->label_data_06->setText(tempStr.setNum(Binary[6]));
ui->label_data_07->setText(tempStr.setNum(Binary[7]));
ui->label_data_08->setText(tempStr.setNum(Binary[8]));
ui->label_data_09->setText(tempStr.setNum(Binary[9]));
ui->label_data_10->setText(tempStr.setNum(Binary[10]));
ui->label_data_11->setText(tempStr.setNum(Binary[11]));
ui->label_data_12->setText(tempStr.setNum(Binary[12]));
ui->label_data_13->setText(tempStr.setNum(Binary[13]));
ui->label_data_14->setText(tempStr.setNum(Binary[14]));
ui->label_data_15->setText(tempStr.setNum(Binary[15]));
ui->label_data_16->setText(tempStr.setNum(Binary[16]));
ui->label_data_17->setText(tempStr.setNum(Binary[17]));
ui->label_data_18->setText(tempStr.setNum(Binary[18]));
ui->label_data_19->setText(tempStr.setNum(Binary[19]));
ui->label_data_20->setText(tempStr.setNum(Binary[20]));
ui->label_data_21->setText(tempStr.setNum(Binary[21]));
ui->label_data_22->setText(tempStr.setNum(Binary[22]));
ui->label_data_23->setText(tempStr.setNum(Binary[23]));
ui->label_data_24->setText(tempStr.setNum(Binary[24]));
ui->label_data_25->setText(tempStr.setNum(Binary[25]));
ui->label_data_26->setText(tempStr.setNum(Binary[26]));
ui->label_data_27->setText(tempStr.setNum(Binary[27]));
ui->label_data_28->setText(tempStr.setNum(Binary[28]));
ui->label_data_29->setText(tempStr.setNum(Binary[29]));
ui->label_data_30->setText(tempStr.setNum(Binary[30]));
ui->label_data_31->setText(tempStr.setNum(Binary[31]));
}
void ViewBit::on_lineEdit_2_textChanged(const QString &arg1)
{
bool ok;
QString tempStr;
QString valueStr=ui->lineEdit_2->text(); /* Input a Dec string */
//qDebug() << "on_lineEdit_2_textChanged =" << valueStr << endl;
unsigned long valueInt = valueStr.toUInt(&ok,10); /* Dec string convet to Dec */
tempStr = QString::number(valueInt,16);
tempStr="0x"+tempStr;
ui->lineEdit->setText(tempStr);
}
void ViewBit::button_click()
{
bool ok;
unsigned long value=0;
QObject *obj = sender();
QPushButton *button = dynamic_cast<QPushButton*>(obj);
QString str = button->objectName();
int index =str.lastIndexOf('_');
str = str.mid(index+1,2);
int num = str.toUInt(&ok,10);
switch(num)
{
case 31: {
str = ui->label_data_31->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_31->setText(str.setNum(1));
}
else
{
ui->label_data_31->setText(str.setNum(0));
}
break;
}
case 30: {
str = ui->label_data_30->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_30->setText(str.setNum(1));
}
else
{
ui->label_data_30->setText(str.setNum(0));
}
break;
}
case 29: {
str = ui->label_data_29->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_29->setText(str.setNum(1));
}
else
{
ui->label_data_29->setText(str.setNum(0));
}
break;
}
case 28: {
str = ui->label_data_28->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_28->setText(str.setNum(1));
}
else
{
ui->label_data_28->setText(str.setNum(0));
}
break;
}
case 27: {
str = ui->label_data_27->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_27->setText(str.setNum(1));
}
else
{
ui->label_data_27->setText(str.setNum(0));
}
break;
}
case 26: {
str = ui->label_data_26->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_26->setText(str.setNum(1));
}
else
{
ui->label_data_26->setText(str.setNum(0));
}
break;
}
case 25: {
str = ui->label_data_25->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_25->setText(str.setNum(1));
}
else
{
ui->label_data_25->setText(str.setNum(0));
}
break;
}
case 24: {
str = ui->label_data_24->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_24->setText(str.setNum(1));
}
else
{
ui->label_data_24->setText(str.setNum(0));
}
break;
}
case 23: {
str = ui->label_data_23->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_23->setText(str.setNum(1));
}
else
{
ui->label_data_23->setText(str.setNum(0));
}
break;
}
case 22: {
str = ui->label_data_22->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_22->setText(str.setNum(1));
}
else
{
ui->label_data_22->setText(str.setNum(0));
}
break;
}
case 21: {
str = ui->label_data_21->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_21->setText(str.setNum(1));
}
else
{
ui->label_data_21->setText(str.setNum(0));
}
break;
}
case 20: {
str = ui->label_data_20->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_20->setText(str.setNum(1));
}
else
{
ui->label_data_20->setText(str.setNum(0));
}
break;
}
case 19: {
str = ui->label_data_19->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_19->setText(str.setNum(1));
}
else
{
ui->label_data_19->setText(str.setNum(0));
}
break;
}
case 18: {
str = ui->label_data_18->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_18->setText(str.setNum(1));
}
else
{
ui->label_data_18->setText(str.setNum(0));
}
break;
}
case 17: {
str = ui->label_data_17->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_17->setText(str.setNum(1));
}
else
{
ui->label_data_17->setText(str.setNum(0));
}
break;
}
case 16: {
str = ui->label_data_16->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_16->setText(str.setNum(1));
}
else
{
ui->label_data_16->setText(str.setNum(0));
}
break;
}
case 15: {
str = ui->label_data_15->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_15->setText(str.setNum(1));
}
else
{
ui->label_data_15->setText(str.setNum(0));
}
break;
}
case 14: {
str = ui->label_data_14->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_14->setText(str.setNum(1));
}
else
{
ui->label_data_14->setText(str.setNum(0));
}
break;
}
case 13: {
str = ui->label_data_13->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_13->setText(str.setNum(1));
}
else
{
ui->label_data_13->setText(str.setNum(0));
}
break;
}
case 12: {
str = ui->label_data_12->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_12->setText(str.setNum(1));
}
else
{
ui->label_data_12->setText(str.setNum(0));
}
break;
}
case 11: {
str = ui->label_data_11->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_11->setText(str.setNum(1));
}
else
{
ui->label_data_11->setText(str.setNum(0));
}
break;
}
case 10: {
str = ui->label_data_10->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_10->setText(str.setNum(1));
}
else
{
ui->label_data_10->setText(str.setNum(0));
}
break;
}
case 9: {
str = ui->label_data_09->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_09->setText(str.setNum(1));
}
else
{
ui->label_data_09->setText(str.setNum(0));
}
break;
}
case 8: {
str = ui->label_data_08->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_08->setText(str.setNum(1));
}
else
{
ui->label_data_08->setText(str.setNum(0));
}
break;
}
case 7: {
str = ui->label_data_07->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_07->setText(str.setNum(1));
}
else
{
ui->label_data_07->setText(str.setNum(0));
}
break;
}
case 6: {
str = ui->label_data_06->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_06->setText(str.setNum(1));
}
else
{
ui->label_data_06->setText(str.setNum(0));
}
break;
}
case 5: {
str = ui->label_data_05->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_05->setText(str.setNum(1));
}
else
{
ui->label_data_05->setText(str.setNum(0));
}
break;
}
case 4: {
str = ui->label_data_04->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_04->setText(str.setNum(1));
}
else
{
ui->label_data_04->setText(str.setNum(0));
}
break;
}
case 3: {
str = ui->label_data_03->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_03->setText(str.setNum(1));
}
else
{
ui->label_data_03->setText(str.setNum(0));
}
break;
}
case 2: {
str = ui->label_data_02->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_02->setText(str.setNum(1));
}
else
{
ui->label_data_02->setText(str.setNum(0));
}
break;
}
case 1: {
str = ui->label_data_01->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_01->setText(str.setNum(1));
}
else
{
ui->label_data_01->setText(str.setNum(0));
}
break;
}
case 0: {
str = ui->label_data_00->text();
value = str.toUInt(&ok,10);
if(value==0)
{
ui->label_data_00->setText(str.setNum(1));
}
else
{
ui->label_data_00->setText(str.setNum(0));
}
break;
}
default:break;
}
QString StrValue00 =ui->label_data_00->text();
int Value00 = StrValue00.toUInt(&ok,10);
QString StrValue01 =ui->label_data_01->text();
int Value01 = StrValue01.toUInt(&ok,10);
QString StrValue02 =ui->label_data_02->text();
int Value02 = StrValue02.toUInt(&ok,10);
QString StrValue03 =ui->label_data_03->text();
int Value03 = StrValue03.toUInt(&ok,10);
QString StrValue04 =ui->label_data_04->text();
int Value04 = StrValue04.toUInt(&ok,10);
QString StrValue05 =ui->label_data_05->text();
int Value05 = StrValue05.toUInt(&ok,10);
QString StrValue06 =ui->label_data_06->text();
int Value06 = StrValue06.toUInt(&ok,10);
QString StrValue07 =ui->label_data_07->text();
int Value07 = StrValue07.toUInt(&ok,10);
QString StrValue08 =ui->label_data_08->text();
int Value08 = StrValue08.toUInt(&ok,10);
QString StrValue09 =ui->label_data_09->text();
int Value09 = StrValue09.toUInt(&ok,10);
QString StrValue10 =ui->label_data_10->text();
int Value10 = StrValue10.toUInt(&ok,10);
QString StrValue11 =ui->label_data_11->text();
int Value11 = StrValue11.toUInt(&ok,10);
QString StrValue12 =ui->label_data_12->text();
int Value12 = StrValue12.toUInt(&ok,10);
QString StrValue13 =ui->label_data_13->text();
int Value13 = StrValue13.toUInt(&ok,10);
QString StrValue14 =ui->label_data_14->text();
int Value14 = StrValue14.toUInt(&ok,10);
QString StrValue15 =ui->label_data_15->text();
int Value15 = StrValue15.toUInt(&ok,10);
QString StrValue16 =ui->label_data_16->text();
int Value16 = StrValue16.toUInt(&ok,10);
QString StrValue17 =ui->label_data_17->text();
int Value17 = StrValue17.toUInt(&ok,10);
QString StrValue18 =ui->label_data_18->text();
int Value18 = StrValue18.toUInt(&ok,10);
QString StrValue19 =ui->label_data_19->text();
int Value19 = StrValue19.toUInt(&ok,10);
QString StrValue20 =ui->label_data_20->text();
int Value20 = StrValue20.toUInt(&ok,10);
QString StrValue21 =ui->label_data_21->text();
int Value21 = StrValue21.toUInt(&ok,10);
QString StrValue22 =ui->label_data_22->text();
int Value22 = StrValue22.toUInt(&ok,10);
QString StrValue23 =ui->label_data_23->text();
int Value23 = StrValue23.toUInt(&ok,10);
QString StrValue24 =ui->label_data_24->text();
int Value24 = StrValue24.toUInt(&ok,10);
QString StrValue25 =ui->label_data_25->text();
int Value25 = StrValue25.toUInt(&ok,10);
QString StrValue26 =ui->label_data_26->text();
int Value26 = StrValue26.toUInt(&ok,10);
QString StrValue27 =ui->label_data_27->text();
int Value27 = StrValue27.toUInt(&ok,10);
QString StrValue28 =ui->label_data_28->text();
int Value28 = StrValue28.toUInt(&ok,10);
QString StrValue29 =ui->label_data_29->text();
int Value29 = StrValue29.toUInt(&ok,10);
QString StrValue30 =ui->label_data_30->text();
int Value30 = StrValue30.toUInt(&ok,10);
QString StrValue31 =ui->label_data_31->text();
int Value31 = StrValue31.toUInt(&ok,10);
unsigned long AllValue = Value31*pow(2,31)+Value30*pow(2,30)
+Value29*pow(2,29)+Value28*pow(2,28)
+Value27*pow(2,27)+Value26*pow(2,26)
+Value25*pow(2,25)+Value24*pow(2,24)
+Value23*pow(2,23)+Value22*pow(2,22)
+Value21*pow(2,21)+Value20*pow(2,20)
+Value19*pow(2,19)+Value18*pow(2,18)
+Value17*pow(2,17)+Value16*pow(2,16)
+Value15*pow(2,15)+Value14*pow(2,14)
+Value13*pow(2,13)+Value12*pow(2,12)
+Value11*pow(2,11)+Value10*pow(2,10)
+Value09*pow(2,9)+Value08*pow(2,8)
+Value07*pow(2,7)+Value06*pow(2,6)
+Value05*pow(2,5)+Value04*pow(2,4)
+Value03*pow(2,3)+Value02*pow(2,2)
+Value01*pow(2,1)+Value00*pow(2,0);
qDebug() << "AllValue = " << AllValue <<endl;
ui->lineEdit_2->setText(str.setNum(AllValue));
QString tempStr = QString::number(AllValue,16); /* Dec conver to Hex */
tempStr="0x"+tempStr;
ui->lineEdit->setText(tempStr);
}
By Design :Linux_Google