广告
返回顶部
首页 > 资讯 > 精选 >QT怎么实现二、八、十六进制之间的转换
  • 733
分享到

QT怎么实现二、八、十六进制之间的转换

2023-06-30 13:06:42 733人浏览 薄情痞子
摘要

这篇文章主要讲解了“Qt怎么实现二、八、十六进制之间的转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“QT怎么实现二、八、十六进制之间的转换”吧!主要使用QT中的三个方法。第一个是QStr

这篇文章主要讲解了“Qt怎么实现二、八、十六进制之间的转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“QT怎么实现二、八、十六进制之间的转换”吧!

主要使用QT中的三个方法。

  • 第一个是QString::number(int n, int base = 10);

  • 第二个是QString::setNum(short n, int base = 10);

  • 第三个是int QString::toInt(bool *ok = nullptr, int base = 10) const

这三个方法默认值都是十进制。

先上效果图,最后会附上源码

QT怎么实现二、八、十六进制之间的转换

接下来开始代码实现:

首先打开QT->新建文件或项目,然后跟着图中标注进行下一步

QT怎么实现二、八、十六进制之间的转换

文件名和路径自己设置就可。

QT怎么实现二、八、十六进制之间的转换

一直点下一步;

QT怎么实现二、八、十六进制之间的转换

一直点下一步。创建成功先点绿色箭头运行一下。

接着重头戏来了!!!!

QT怎么实现二、八、十六进制之间的转换

QT怎么实现二、八、十六进制之间的转换

 如图所示,同时还会在.cpp文件中添加函数定义:

QT怎么实现二、八、十六进制之间的转换

 所要实现的功能是,当点击对应“转换为其他进制”的按钮时,获取对应输入框的内容,然后把内容转换为对应进制。

主要hao

//QString::number()和setNum()都可以转换void MainWindow::on_btn1_clicked(){//十进制转为其他进制    QString str = ui->shi->text();    int value = str.toInt();//十进制,toInt()默认是10进制数     str = str.setNum(value,2);//转为二进制    ui->er->setText(str);     str = str.setNum(value,16).toUpper();//转为十六进制    ui->shiliu->setText(QString("0x%1").arg(str));     str = str.setNum(value,8);//转为八进制    ui->ba->setText(str);} void MainWindow::on_btn2_clicked(){//二进制转为其他进制    QString str = ui->er->text();//二进制    bool ok;    int value = str.toInt(&ok, 2);//以二进制数读入,读取成功ok=true;    qDebug() << "ok=" << ok;     str = QString::number(value,10);//转为十进制    ui->shi->setText(str);     str = QString::number(value,16).toUpper();//转为十六进制    ui->shiliu->setText(QString("0x%1").arg(str));     str = QString::number(value,8);//转为八进制    ui->ba->setText(str);} void MainWindow::on_btn3_clicked(){//十六进制转为其他进制    QString str = ui->shiliu->text();//十六进制    bool ok;    int value = str.toInt(&ok, 16);//以十六进制数读入     str = QString::number(value,10);//转为十进制    ui->shi->setText(str);     str = str.setNum(value,2);//转为二进制    ui->er->setText(str);     str = QString::number(value,8);//转为八进制    ui->ba->setText(str);} void MainWindow::on_btn4_clicked(){//八进制转为其他进制    QString str = ui->ba->text();//八进制    bool ok;    int value = str.toInt(&ok, 8);//以八进制数读入     str = QString::number(value,10);//转为十进制    ui->shi->setText(str);     str = str.setNum(value,2);//转为二进制    ui->er->setText(str);     str = QString::number(value,16).toUpper();//转为十六进制    ui->shiliu->setText(QString("0x%1").arg(str));}

 好啦,到这里,代码就结束啦,是不是感觉很简单?!

最后附上源码,亲测可运行,如果你在运行时,出现问题,可以留言。

.pro 文件源码

QT       += core gui greaterThan(QT_MAJOR_VERSioN, 4): QT += widgets CONFIG += c++11 # The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecated (the exact warnings# depend on your compiler). Please consult the documentation of the# deprecated api in order to know how to port your code away from it.DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if it uses deprecated APIs.# In order to do so, uncomment the following line.# You can also select to disable deprecated APIs only up to a certain version of Qt.#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0 SOURCES += \    main.cpp \    mainwindow.cpp HEADERS += \    mainwindow.h FORMS += \    mainwindow.ui # Default rules for deployment.qnx: target.path = /tmp/$${TARGET}/binelse: unix:!Android: target.path = /opt/$${TARGET}/bin!isEmpty(target.path): INSTALLS += target

头文件.h源码

#ifndef MAINWINDOW_H#define MAINWINDOW_H #include <QMainWindow> QT_BEGIN_NAMESPACEnamespace Ui { class MainWindow; }QT_END_NAMESPACE class MainWindow : public QMainWindow{    Q_OBJECT public:    MainWindow(QWidget *parent = nullptr);    ~MainWindow(); private slots:     void on_btn1_clicked();     void on_btn2_clicked();     void on_btn3_clicked();     void on_btn4_clicked(); private:    Ui::MainWindow *ui;};#endif // MAINWINDOW_H

main.cpp源码

#include "mainwindow.h" #include <QApplication> int main(int arGC, char *argv[]){    QApplication a(argc, argv);    MainWindow w;    w.show();    return a.exec();}

.cpp源码

#include "mainwindow.h"#include "ui_mainwindow.h"#include <QDebug> MainWindow::MainWindow(QWidget *parent)    : QMainWindow(parent)    , ui(new Ui::MainWindow){    ui->setupUi(this);    this->setWindowTitle("各种进制之间相互转换");} MainWindow::~MainWindow(){    delete ui;} //QString::number()和setNum()都可以转换void MainWindow::on_btn1_clicked(){//十进制转为其他进制    QString str = ui->shi->text();    int value = str.toInt();//十进制,toInt()默认是10进制数     str = str.setNum(value,2);//转为二进制    ui->er->setText(str);     str = str.setNum(value,16).toUpper();//转为十六进制    ui->shiliu->setText(QString("0x%1").arg(str));     str = str.setNum(value,8);//转为八进制    ui->ba->setText(str);} void MainWindow::on_btn2_clicked(){//二进制转为其他进制    QString str = ui->er->text();//二进制    bool ok;    int value = str.toInt(&ok, 2);//以二进制数读入,读取成功ok=true;    qDebug() << "ok=" << ok;     str = QString::number(value,10);//转为十进制    ui->shi->setText(str);     str = QString::number(value,16).toUpper();//转为十六进制    ui->shiliu->setText(QString("0x%1").arg(str));     str = QString::number(value,8);//转为八进制    ui->ba->setText(str);} void MainWindow::on_btn3_clicked(){//十六进制转为其他进制    QString str = ui->shiliu->text();//十六进制    bool ok;    int value = str.toInt(&ok, 16);//以十六进制数读入     str = QString::number(value,10);//转为十进制    ui->shi->setText(str);     str = str.setNum(value,2);//转为二进制    ui->er->setText(str);     str = QString::number(value,8);//转为八进制    ui->ba->setText(str);} void MainWindow::on_btn4_clicked(){//八进制转为其他进制    QString str = ui->ba->text();//八进制    bool ok;    int value = str.toInt(&ok, 8);//以八进制数读入     str = QString::number(value,10);//转为十进制    ui->shi->setText(str);     str = str.setNum(value,2);//转为二进制    ui->er->setText(str);     str = QString::number(value,16).toUpper();//转为十六进制    ui->shiliu->setText(QString("0x%1").arg(str));}

运行后的界面如下:

QT怎么实现二、八、十六进制之间的转换

感谢各位的阅读,以上就是“QT怎么实现二、八、十六进制之间的转换”的内容了,经过本文的学习后,相信大家对QT怎么实现二、八、十六进制之间的转换这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: QT怎么实现二、八、十六进制之间的转换

本文链接: https://www.lsjlt.com/news/329410.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • QT实现二、八、十六进制之间的转换
    主要使用QT中的三个方法。 第一个是QString::number(int n, int base = 10);第二个是QString::setNum(short n, int ba...
    99+
    2022-11-13
  • QT怎么实现二、八、十六进制之间的转换
    这篇文章主要讲解了“QT怎么实现二、八、十六进制之间的转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“QT怎么实现二、八、十六进制之间的转换”吧!主要使用QT中的三个方法。第一个是QStr...
    99+
    2023-06-30
  • php怎么实现八进制转换十六进制
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php怎么实现八进制转换十六进制?base_convert() 函数在任意进制之间转换数字。把八进制数转换为十六进制数:<php $oct = "364&...
    99+
    2015-06-03
    php 八进制 十六进制
  • php怎样实现八进制转换十六进制
    本篇文章为大家展示了php怎样实现八进制转换十六进制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。php实现八进制转换十六进制的方法:1、创建一个PHP示例文件;2、通过“base_convert(...
    99+
    2023-06-29
  • Oracle中通过函数实现二、八、十、十六进制任意转换
    说明:本文主要参考于: http://www.eygle.com/archives/2004/06/oracle_howto_convert.html 一、先创建两个基本的进制转换函数: &n...
    99+
    2022-10-18
  • Java之实现十进制与十六进制转换案例讲解
    写了两种十六进制转十进制的方式,仅供参考。 基本思路:用十六进制中每一位数乘以对应的权值,再求和就是对应的十进制 方法一: import java.util.HashMap; i...
    99+
    2022-11-12
  • 怎么在JavaScript中将二进制转换为十六进制
    怎么在JavaScript中将二进制转换为十六进制?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JavaScript中将二进制转为十六进制的方法var a=100;v...
    99+
    2023-06-14
  • C语言实现十六进制与二进制的相互转换
    目录十六进制->二进制二进制->十六进制本文中的代码可以将文件中的十六进制存储与二进制存储相互转换。 十六进制->二进制 原理是:每两位存储为一个字符(char)保...
    99+
    2022-11-13
    C语言 十六进制转二进制 C语言 二进制转十六进制 C语言 二进制 十六进制
  • Shell脚本中不同进制数据转换的例子(二进制、八进制、十六进制、base64)
    shell可以在不调用第3方命令,表示不同进制数据。这里总结以下表示方法。shell 脚本默认数值是由10 进制数处理,除非这个数字某种特殊的标记法或前缀开头. 才可以表示其它进制类型数值。如:以 0 开头...
    99+
    2022-06-04
    脚本 例子 数据
  • php怎么实现八进制转十进制
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php怎么实现八进制转十进制 octdec(PHP 4, PHP 5, PHP 7, PHP 8)octdec — 八进制转换为十进制说明 octdec(string $...
    99+
    2020-10-08
    php 八进制 十进制
  • php 怎么实现rgb转十六进制
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php 怎么实现rgb转十六进制 ?PHP中十六进制颜色与RGB颜色值互转的方法:今天小编就为大家分享一篇关于PHP中十六进制颜色与RGB颜色值互转的方法,小编觉得内容挺...
    99+
    2019-11-24
    php rgb 十六进制
  • C++实现十进制数转换为二进制数的数学算法
    一、十进制转换为二进制的数学算法 设目标十进制数为n,用短除法一直除以2,循环这个过程并记录余数,当商为0时结束循环,余数从后往前读就是转换为的二进制数 eg: 二、代码实现 1....
    99+
    2022-11-12
  • Python实现任意进制之间的转换
      在日常生活中我们频繁使用到数学的进制,如季度逢三进一,星期逢七进一;×××、小时使用12进制,每天使用24进制,每月使用30进制,分秒使用60进制,一年使用360进制等等;在编程过程中我们经常需要转换进制,虽然Python已经内置了常...
    99+
    2023-01-31
    Python
  • Java怎么实现IP地址到二进制的转换
    这篇文章主要介绍“Java怎么实现IP地址到二进制的转换”,在日常操作中,相信很多人在Java怎么实现IP地址到二进制的转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么实现IP地址到二进制的转换...
    99+
    2023-06-21
  • Java图片与二进制相互转换怎么实现
    这篇文章主要介绍了Java图片与二进制相互转换怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java图片与二进制相互转换怎么实现文章都会有所收获,下面我们一起来看看吧。1、下面是一个完整的代码示例指定文...
    99+
    2023-07-05
  • java中VO和DTO之间的转换怎么实现
    今天小编给大家分享一下java中VO和DTO之间的转换怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、背景领域模型...
    99+
    2023-06-30
  • QT中QByteArray与char、int、float之间的互相转化怎么实现
    这篇文章主要介绍了QT中QByteArray与char、int、float之间的互相转化怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇QT中QByteArray与char、int、float之间的互相转...
    99+
    2023-06-30
  • C++怎么实现百度坐标及GCJ02与WGS84之间的转换
    这篇文章主要讲解了“C++怎么实现百度坐标及GCJ02与WGS84之间的转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++怎么实现百度坐标及GCJ02与WGS84之间的转换”吧!实现代...
    99+
    2023-07-05
  • MySQL怎么有效的实现存储IP地址及字符串IP和数值之间的转换
    小编给大家分享一下MySQL怎么有效的实现存储IP地址及字符串IP和数值之间的转换,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!之间,建议当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储I...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作