Qt小案例——进制转换 ╰+攻爆jí腚メ 2022-11-18 13:35 196阅读 0赞 ### 文章目录 ### * 界面展示 * 项目链接 * 项目构成 * * * 页面设计 * 1. QString::number(num,x)法 * * widget.h * widget.cpp * 2. 使用spinbox * widget.h * widget.cpp # 界面展示 # ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNTI3Mg_size_16_color_FFFFFF_t_70] # 项目链接 # 法1:[https://mp.csdn.net/console/upDetailed][https_mp.csdn.net_console_upDetailed] 法2:[https://download.csdn.net/download/weixin\_45525272/16660293][https_download.csdn.net_download_weixin_45525272_16660293] # 项目构成 # ### 页面设计 ### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNTI3Mg_size_16_color_FFFFFF_t_70 1] ## 1. QString::number(num,x)法 ## ### widget.h ### #ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private slots: void on_btnCal_clicked(); //计算 按键单击响应 void on_btnDec_clicked(); //十进制转换为其他进制 void on_btnBin_clicked(); //二进制转换为其他进制 void on_btnHex_clicked(); //十六进制转换为其他进制 private: Ui::Widget *ui; }; #endif // WIDGET_H ### widget.cpp ### #include "widget.h" #include "ui_widget.h" #include <QString> Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); } Widget::~Widget() { delete ui; } void Widget::on_btnDec_clicked() { //读取十进制数,转换为其他进制 int val=ui->editDec->text().toInt();//读取十进制数 QString str=QString::number(val,16);// 显示为16进制 的字符串 str=str.toUpper(); //转换为全大写字母 ui->editHex->setText(str);//显示16进制字符串 str=QString::number(val,2);// 显示2进制的字符串 ui->editBin->setText(str);//显示二进制字符串 } void Widget::on_btnBin_clicked() { //读取二进制数,转换为其他进制的数 bool ok; int val=ui->editBin->text().toInt(&ok,2);//以二进制数读入 QString str=QString::number(val,10);//数字显示为10进制字符串 ui->editDec->setText(str);//显示10进制数字符串 str=QString::number(val,16);//显示为十六进制字符串 str=str.toUpper(); //全大写字母 ui->editHex->setText(str);//显示十六进制字符串 } void Widget::on_btnHex_clicked() { //读取16进制数,转换为其他进制的数 bool ok; int val=ui->editHex->text().toInt(&ok,16);//以十六进制数读入 QString str=QString::number(val,10);// 显示为10进制字符串 ui->editDec->setText(str);//显示为10进制字符串 str=QString::number(val,2);// 显示二进制字符串 ui->editBin->setText(str);//显示二进制字符串 } ## 2. 使用spinbox ## spinbox显示数据可以设置进制显示的属性 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNTI3Mg_size_16_color_FFFFFF_t_70 2] ## widget.h ## #ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private slots: void on_btnCal_clicked(); //计算按键 clicked()响应 void on_btnDec_clicked();//读十进制数再用其他进制显示 的按键的 clicked()响应 void on_btnBin_clicked();//读二进制数再用其他进制显示 的按键的 clicked()响应 void on_btnHex_clicked();//读十六进制数再用其他进制显示 的按键的 clicked()响应 private: Ui::Widget *ui; }; #endif // WIDGET_H ## widget.cpp ## #include "widget.h" #include "ui_widget.h" #include <QString> Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); //“数量”和“单价”两个SpinBox的valueChanged()信号与on_btnCal_clicked()槽关联 QObject::connect(ui->spinNum,SIGNAL(valueChanged(int)),this,SLOT(on_btnCal_clicked())); // QObject::connect(ui->spinPrice,SIGNAL(valueChanged(double)),this,SLOT(on_btnCal_clicked())); QObject::connect(ui->spinDec,SIGNAL(valueChanged(int)), this,SLOT(on_btnDec_clicked()));//spinDec 十进制显示的SpinBox QObject::connect(ui->spinBin,SIGNAL(valueChanged(int)), this,SLOT(on_btnBin_clicked()));//spinBin 二进制显示的SpinBox QObject::connect(ui->spinHex,SIGNAL(valueChanged(int)), this,SLOT(on_btnHex_clicked()));//spinHex 十六进制显示的SpinBox } Widget::~Widget() { delete ui; } void Widget::on_btnCal_clicked() { //计算按键 int num=ui->spinNum->value(); //读取数量,直接是整数 float price=ui->spinPrice->value();//读取单价,直接是浮点数 float total=num*price;//相乘计算 ui->spinTotal->setValue(total); //直接显示浮点数 } void Widget::on_btnDec_clicked() { //读取十进制,以其他进制显示 int val; val=ui->spinDec->value();//读取十进制数 ui->spinBin->setValue(val); //设置数值即可,自动以二进制显示 ui->spinHex->setValue(val); //设置数值即可,自动以十六进制显示 } void Widget::on_btnBin_clicked() { //读取二进制,以其他进制显示 int val=ui->spinBin->value();//读取spinBin里的二进制数,得到整数 ui->spinDec->setValue(val);//设置数值即可,自动以十进制显示 ui->spinHex->setValue(val);//设置数值即可,自动以十六进制显示 } void Widget::on_btnHex_clicked() { //读取十六进制,以其他进制显示 int val; val=ui->spinHex->value();//读取 spinHex 里的十六进制数,得到整数 ui->spinDec->setValue(val);//设置数值即可,自动以十进制显示 ui->spinBin->setValue(val);//设置数值即可,自动以二进制显示 } [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNTI3Mg_size_16_color_FFFFFF_t_70]: /images/20221022/23f8c626e9d64afebb14e08e918c7eb4.png [https_mp.csdn.net_console_upDetailed]: https://mp.csdn.net/console/upDetailed [https_download.csdn.net_download_weixin_45525272_16660293]: https://download.csdn.net/download/weixin_45525272/16660293 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNTI3Mg_size_16_color_FFFFFF_t_70 1]: /images/20221022/ec30e0563e41400ab7d596dfbab3da0e.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTUyNTI3Mg_size_16_color_FFFFFF_t_70 2]: /images/20221022/e0f5988d1d0940db8c19464abcf36ac7.png
相关 Qt小案例——进制转换 文章目录 界面展示 项目链接 项目构成 页面设计 1. QString::number(num,x)法 ╰+攻爆jí腚メ/ 2022年11月18日 13:35/ 0 赞/ 197 阅读
相关 进制转换(进制转换) 进制转换 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe 秒速五厘米/ 2022年08月02日 15:41/ 0 赞/ 304 阅读
相关 进制转换 题目:请自定义函数,并根据用户选择进行数据进制转换(注意完善相应的用户提示),十六进制数和十进制数互换,二进制数和十进制数互换,八进制数和十进制数互换。 \include<s 男娘i/ 2022年07月14日 14:50/ 0 赞/ 267 阅读
相关 进制转换 输入一个以回车符结束的字符串(少于100个),过滤去所有的非十六进制字符后,组成一个新字符(十六进制形式),输出该字符串并将其转换为十进制数后输出。 include 谁践踏了优雅/ 2022年06月17日 01:41/ 0 赞/ 284 阅读
相关 进制转换 class ArrayTest1 { //十进制-->二进制 public static void toBin(int num r囧r小猫/ 2022年06月13日 13:46/ 0 赞/ 291 阅读
相关 进制转换 //十进制转二进制 public void toBinary(int num) { StringBuffer buffer = new StringBuffer 亦凉/ 2022年06月01日 09:20/ 0 赞/ 259 阅读
相关 进制转换 Problem Description 输入一个十进制数N,将它转换成R进制数输出。 Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R 以你之姓@/ 2022年05月11日 05:48/ 0 赞/ 250 阅读
相关 进制转换 进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一 梦里梦外;/ 2021年12月12日 02:09/ 0 赞/ 1044 阅读
相关 进制转换 有以下程序 main( ) { int x=102,y=012; printf("%2d,%2d\n",x,y); } 执行后 r囧r小猫/ 2021年09月30日 06:38/ 0 赞/ 440 阅读
相关 javascript 进制转换(2进制、8进制、10进制、16进制之间的转换) //十进制转其他 var x=110; alert(x); alert(x.toString(8)); alert(x.toString(32)); 不念不忘少年蓝@/ 2021年09月29日 13:46/ 0 赞/ 511 阅读
还没有评论,来说两句吧...