青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 319, comments - 22, trackbacks - 0, articles - 11
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

Qt 中文顯示

Posted on 2010-12-13 00:13 RTY 閱讀(1023) 評論(0)  編輯 收藏 引用 所屬分類: QT相關資料收集

 

QT默認的編碼(unicode)是不能顯示中文的,可能由于windows的默認編碼的問題,windows默認使用(GBK/GB2312/GB18030),所以需要來更改QT程序的編碼來解決中文顯示的問題。

QT中有專門的一個類來處理編碼的問題(QTextCodec)。

在QT3中,QApplication可以設置程序的默認編碼,但是在QT4中已經沒有了該成員函數
可以以下的這些方法來設置編碼。




1. 設置QObject的成員函數tr()的編碼。

QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));

其中的codecForName函數是根據參數中的編碼名稱,在系統已經安裝的編碼方案中需找最佳的匹配編碼類型,該查找是大小寫不敏感的。如果沒有找到,就返回0。

具體的轉換代碼看下面:
#include <QApplication>
#include <QTextCodec>
#include <QLabel>


int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QLabel hello(QObject::tr("你好世界"));
hello.setWindowTitle(QObject::tr("Qt中文顯示"));
hello.show();
return app.exec();
}

注意:
setCodecForTr一定要在QApplication后面。不然沒有效果。而且這種方法只會轉換經過tr函數的字符串,并不轉換不經過tr函數的字符串。

技巧:
可以用codecForLocale函數來返回現在系統的默認編碼,這樣更容易做多編碼的程序而不用自己手動來更改具體的編碼。


2. 使用QString的fromLocal8Bit()函數

這個方法是最快的,系統直接自動將char *的參數轉換成為系統默認的編碼,然后返回一個QString。

#include <QApplication>
#include <QTextCodec>
#include <QLabel>


int main(int argc,char *argv[])
{

   QApplication app(argc,argv);

   QString str;
str = str.fromLocal8Bit("Qt中文顯示");
hello.setWindowTitle(str);
hello.show();
return app.exec();
}

3. 用QTextCodec的toUnicode方法來顯示中文

#include <QApplication>
#include <QTextCodec>
#include <QLabel>


int main(int argc,char *argv[])
{

   QApplication app(argc,argv);
QLabel hello(QObject::tr("你好世界").toLocal8Bit());
QTextCodec *codec = QTextCodec::codecForLocale();
QString a = codec->toUnicode("Qt中文顯示");
hello.setWindowTitle(a);
hello.show();
return app.exec();
}



PS:關于中文顯示亂碼的問題我糾結了好久,在網上查的一些方法似乎都不是太管用,所用我自己又實驗了很多次,終于解決了這個問題。我其他兩種方法我沒有試過,我只說第一種方法:

    剛開始的時候我設置QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));或者將"GBK"換成"GB2312","GB18030"都沒有成功,依然是亂碼。不過也并不是一定不行,后來發現有些時候這樣設置也是可以的,我認為可能與源代碼的編碼方式有關。我后來又找到了一種解決辦法就是設置成QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));或者設置成QTextCodec::setCodecForTr(QTextCodec::codecForLocale());我在Ubuntu下,這兩種設置都可行;在Windows下,QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));和QTextCodec::setCodecForTr(QTextCodec::codecForLocale());中應該有一種可以,希望我的這些研究能夠幫到你
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久久电影| 亚洲欧洲一区二区在线播放 | 久久精品视频一| 欧美国产精品人人做人人爱| 亚洲黄色av一区| 亚洲欧美一区二区视频| 久久久久国产精品午夜一区| 欧美亚洲色图校园春色| 欧美精品久久久久久| 国产在线一区二区三区四区| 99视频一区| 欧美成年人网| 欧美亚洲一区二区三区| 黄色日韩网站| 欧美一区观看| 亚洲一级片在线看| 欧美高清在线视频观看不卡| 一区二区亚洲精品国产| 久久国产一区二区| 久久伊伊香蕉| 国产精品久久久久久久午夜 | 国产精品久在线观看| 久久久精彩视频| 免费一区二区三区| 亚洲电影免费观看高清完整版在线| 午夜激情久久久| 久久久99免费视频| 韩日成人av| 亚洲青涩在线| 欧美精品久久99久久在免费线| 亚洲性色视频| 在线亚洲免费视频| 国产精品sm| 亚洲欧美日本伦理| 亚洲男人的天堂在线aⅴ视频| 国产精品久久久久久模特| 久久天天狠狠| 久久综合免费视频影院| 亚洲一区在线观看免费观看电影高清| 91久久线看在观草草青青| 欧美大尺度在线观看| 亚洲精品色图| 日韩亚洲欧美在线观看| 欧美午夜不卡视频| 欧美成人tv| 国产视频欧美视频| 蜜乳av另类精品一区二区| 久热re这里精品视频在线6| 亚洲一区亚洲二区| 欧美高清视频一区| 美脚丝袜一区二区三区在线观看| 国产精品久久久久一区二区| 亚洲日韩视频| 亚洲国产综合在线| 一本到高清视频免费精品| 国产精品女人网站| 99精品视频免费观看视频| 亚洲精品一品区二品区三品区| 久久都是精品| 在线视频免费在线观看一区二区| 在线亚洲+欧美+日本专区| 亚洲毛片播放| 久久不见久久见免费视频1| 亚洲尤物视频在线| 欧美三区在线观看| 久久三级福利| 欧美日韩性生活视频| 久久精品国产成人| 国产手机视频精品| 亚洲欧美色一区| 亚洲美女中文字幕| 欧美精品二区| 亚洲免费电影在线观看| 一本久久精品一区二区| 欧美日韩国产高清视频| 美女主播一区| 亚洲高清在线播放| 欧美一区二区三区四区在线观看| 香蕉久久一区二区不卡无毒影院 | 亚洲一区久久久| 最新亚洲一区| 欧美激情一区三区| 日韩一级视频免费观看在线| 亚洲男女自偷自拍图片另类| 国产精品高精视频免费| 亚洲国产你懂的| 一区二区日韩欧美| 国产精品夜夜嗨| 亚洲日本视频| 午夜精品亚洲一区二区三区嫩草| 国产精品一区二区在线观看网站| 亚洲大片在线| 亚洲高清色综合| 欧美人与禽猛交乱配视频| 欧美大片在线观看| 亚洲图片在线| 欧美色一级片| 久久国产精彩视频| 亚洲精品视频在线| 亚洲人午夜精品| 国产精品二区影院| 久久综合精品国产一区二区三区| 亚洲激情视频在线观看| 欧美一区中文字幕| 亚洲人成在线观看一区二区| 欧美亚日韩国产aⅴ精品中极品| 午夜精品久久99蜜桃的功能介绍| 免费日韩视频| 亚洲女爱视频在线| 亚洲国产毛片完整版| 国产精品视频观看| 欧美~级网站不卡| 欧美一区二区大片| 亚洲精品一区二区三区蜜桃久| 久久精品一区蜜桃臀影院 | 国产精品免费aⅴ片在线观看| 久久精品亚洲一区二区| 夜夜爽av福利精品导航 | 欧美自拍偷拍| 国产欧美日韩视频一区二区| 亚洲综合电影一区二区三区| 欧美韩国一区| 一本大道久久精品懂色aⅴ| 国产偷久久久精品专区| 欧美日韩www| 免费不卡欧美自拍视频| 亚洲巨乳在线| 欧美激情一区二区三区成人| 久久精品色图| 欧美在线免费观看视频| 99这里只有精品| 亚洲第一精品久久忘忧草社区| 国产欧美日韩专区发布| 国产精品久久久久久久久久妞妞| 欧美女同视频| 欧美v日韩v国产v| 快射av在线播放一区| 久久精品国产一区二区三区免费看| 亚洲一级片在线观看| 99在线精品视频| 日韩视频免费看| 亚洲福利一区| 亚洲第一狼人社区| 亚洲高清中文字幕| 欧美激情精品久久久久久变态 | 亚洲最新视频在线播放| 亚洲激情综合| 亚洲精品之草原avav久久| 亚洲精品小视频在线观看| 亚洲黄色性网站| 亚洲三级色网| 一区二区三区高清视频在线观看| 99热精品在线| 激情成人在线视频| 精品成人一区二区| 亚洲第一精品夜夜躁人人爽| 亚洲电影免费观看高清完整版在线观看 | 亚洲国产日韩欧美综合久久| 久久免费国产精品1| 欧美在线免费视频| 性8sex亚洲区入口| 久久精品国产久精国产一老狼| 亚洲欧美另类综合偷拍| 亚洲在线视频| 亚洲图片在线观看| 久久aⅴ国产紧身牛仔裤| 欧美一区二区精品久久911| 久久久久国产精品厨房| 久久久精品性| 美女成人午夜| 亚洲福利视频在线| 亚洲午夜av| 亚洲欧美日韩爽爽影院| 香蕉久久夜色精品国产使用方法 | 久久精品一区四区| 久久精品久久综合| 久久亚洲精品一区二区| 亚洲国产导航| 一本色道久久| 欧美一区二区三区婷婷月色| 欧美专区亚洲专区| 亚洲高清电影| 中日韩在线视频| 欧美一级黄色网| 久久久久一区二区| 欧美体内she精视频| 国产日韩专区| 91久久夜色精品国产九色| 亚洲欧美日韩国产| 老牛影视一区二区三区| 亚洲国产精品一区二区久| 亚洲伦理在线| 久久婷婷久久| 欧美三区视频| 好看的日韩视频| 亚洲欧美高清| 欧美成人免费播放| 亚洲一区二区三区高清 | 亚洲国产经典视频| 亚洲一品av免费观看|