<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
主要使用QT中的三個方法。
這三個方法預設值都是十進位制。
先上效果圖,最後會附上原始碼:
接下來開始程式碼實現:
首先開啟QT->新建檔案或專案,然後跟著圖中標註進行下一步
檔名和路徑自己設定就可。
一直點下一步;
一直點下一步。建立成功先點綠色箭頭執行一下。
接著重頭戲來了!!!!
如圖所示,同時還會在.cpp檔案中新增函數定義:
所要實現的功能是,當點選對應“轉換為其他進位制”的按鈕時,獲取對應輸入框的內容,然後把內容轉換為對應進位制。
主要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}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target
標頭檔案.h原始碼
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> QT_BEGIN_NAMESPACE namespace 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進位制轉換內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45