溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

QT5常見問題二:應(yīng)用程序中文亂碼解決方法,總結(jié)

發(fā)布時(shí)間:2020-04-11 08:21:39 來源:網(wǎng)絡(luò) 閱讀:9980 作者:夾谷 欄目:編程語言

QT5的中文亂碼解決辦法的實(shí)驗(yàn)環(huán)境如下:
環(huán)境:Windows10企業(yè)版
開發(fā)工具:VS2015企業(yè)版,Qt5.6.2_x64,add-in
程序:VS2015創(chuàng)建了一個(gè)默認(rèn)的QDialog Gui應(yīng)用程序,主界面放置了一個(gè)QLabeL,UI界面和添加代碼如下。
UI界面
QT5常見問題二:應(yīng)用程序中文亂碼解決方法,總結(jié)
添加代碼如下:
QtGuiApplication1::QtGuiApplication1(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);

this->setWindowTitle("測試中文亂碼 作者:夾谷 QQ:863858950");
ui.label->setText("尋找中文亂碼解決的好辦法!");

}
程序運(yùn)行結(jié)果:
QT5常見問題二:應(yīng)用程序中文亂碼解決方法,總結(jié)

解決方法總結(jié)如下:
方法一:
QtGuiApplication1::QtGuiApplication1(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);

this->setWindowTitle(QString::fromLocal8Bit("測試中文亂碼 作者:夾谷 QQ:863858950"));
ui.label->setText(QString::fromLocal8Bit("尋找中文亂碼解決的好辦法!"));

}
結(jié)果:
QT5常見問題二:應(yīng)用程序中文亂碼解決方法,總結(jié)
方法二:
QtGuiApplication1::QtGuiApplication1(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);

this->setWindowTitle(QStringLiteral("測試中文亂碼 作者:夾谷 QQ:863858950"));
ui.label->setText(QStringLiteral("尋找中文亂碼解決的好辦法!"));

}
結(jié)果:
QT5常見問題二:應(yīng)用程序中文亂碼解決方法,總結(jié)
方法三:
QtGuiApplication1::QtGuiApplication1(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);

this->setWindowTitle(QString::fromWCharArray(L"測試中文亂碼 作者:夾谷 QQ:863858950"));
ui.label->setText(QString::fromWCharArray(L"尋找中文亂碼解決的好辦法!"));

}
結(jié)果:
QT5常見問題二:應(yīng)用程序中文亂碼解決方法,總結(jié)
方法四:
在頭文件聲明處聲明:#pragma execution_character_set("utf-8")
#pragma once
#pragma execution_character_set("utf-8")
#include <QtWidgets/QDialog>
#include "ui_QtGuiApplication1.h"
class QtGuiApplication1 : public QDialog
{
Q_OBJECT

public:
QtGuiApplication1(QWidget *parent = Q_NULLPTR);

private:
Ui::QtGuiApplication1Class ui;
};
注意:有可能報(bào)錯(cuò)誤---warning C4068: 未知的雜注,這是由于VS安裝不完全(我曾在VS2010中遇到過此問題)
結(jié)果:
QT5常見問題二:應(yīng)用程序中文亂碼解決方法,總結(jié)

自己在使用QT5進(jìn)行開發(fā)的過程中,最開始主要是基于以上四種方法進(jìn)行解決。但是當(dāng)遇到中文國際化問題的時(shí)候,通過以上4中辦法雖然解決了中文亂碼問題,但是無法有效進(jìn)行中文國際化。在翻譯文件中的依然會(huì)有中文亂碼題,該如何解決呢?下一篇文章揭曉筆者使用的方法,也許你已經(jīng)使用了哦!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI