QT4 중국어 혼란 해결(tr 사용| QTextCodec)

2784 단어 code
QT 코드에서 중국어를 사용하면 코드 유형이 설정되지 않은 코드가 발생할 수 있습니다.mian 함수가 있는 cpp 파일을 수정하려면 다음과 같이 하십시오.
1. include 추가
 
1

#include <QTextCodec>

 
2. main 함수에 코드 추가
 
1

2

3

4

5

6

7

8

int main(int argc, char **argv)

{

    ....................

    QTextCodec::setCodecForTr(QTextCodec::codecForName(QTextCodec::codecForLocale()->name()));

    QTextCodec::setCodecForLocale(QTextCodec::codecForName(QTextCodec::codecForLocale()->name())); 

    QTextCodec::setCodecForCStrings(QTextCodec::codecForName(QTextCodec::codecForLocale()->name()));

    ..........................

}

 
이렇게 하면 프로그램의 다른 곳에서 중국어를 사용할 수 있다.tr("중문") 또는 직접 "중문"을 사용할 수 있다.
 
이런 방법도 써도 돼요.
 
1

2

3

4

char *string = "   English     !"

QTextCodec* gbk_codec = QTextCodec::codecForName("GBK");

QString gbk_string = gbk_codec->toUnicode(string);

QLabel *label = new QLabel(gbk_string);

 
 
QTextStream 텍스트 스트림을 사용하여 중국어 파일 읽기
 
1

2

3

4

QFile file("default.txt");

QTextStream stream(file,QIODevice::ReadOnly);

stream.setCodeC( QTextCodec::codecForName("GB2312") );

stream.readAll();

좋은 웹페이지 즐겨찾기