함수를 만들었네요
QString kor(char* str){
QString korStr = QString::fromLocal8Bit(str); return korStr; } |
이 함수의 내용은 일단은 문자열이 들어와서, 그것을 QString 으로 만들어서 되돌려 주는 것으로 만들어 봤습니다.
그래서 다음과 같이 사용이 가능하죠!
1번째 방법 kor("나이야"); 2번째 방법 char* str = "나이야"; kor(str); |
코딩3
#include <QApplication>
#include <QWidget> #include <qstring.h> QString kor(char* str){ QString korStr = QString::fromLocal8Bit(str); return korStr; } int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; window->setWindowTitle(kor("나이야")); window->show(); return app.exec(); } |
출처 : http://onedays.co.kr/90061441570
-------------------------------------------------------------------------------------------------------------------------------------------
방법2
프로그램은 보통 vi 에서 작성하는데 vi 의 한글 코드는 KSC5601 이지만 qt 는 유니코드를 사용한다.
이런 이유로 한글을 바로 출력하면 qt 에서는 깨져서 출력이 된다.
한글을 출력하기 위해서는 3가지 방법이 있다.
1. 매크로를 이용하는 방법
#include <qstring.h>
#define toKor(str) QString::fromLocal8Bit(str)
QString str = "안녕하세요!!";
setCaption(toKor(str));
2. 코덱을 이용하는 방법
#include <qstring.h>
#include <qtextcodec.h>
QString toUniString(QString str) {
QTextCodec * codec = QTextCodec::codecForName("eucKR");
QString localeStr = codec->toUnicode(str);
return localeStr;
}
QString str = "Hello Word!! 안녕하세요!!";
setCaption(toUniString( str));
3. QEucKrCodec 객체 사용
#include <qstring.h>
#include <qeuckrcodec.h>
QEucKrCodec* codec = new QEucKrCodec();
char* string="안녕하세요!!";
QString str = codec->toUnicode(string, strlen(string));
setCaption(str);
출처 : http://blog.naver.com/wonie777?Redirect=Log&logNo=120107116114
'Qt' 카테고리의 다른 글
qt project file(.pro) (0) | 2011.05.16 |
---|---|
형변환, 숫자, 문자, int, QString (0) | 2011.04.18 |
Qt를 Wince6.0에 Build하는방법 (0) | 2011.04.08 |
Qt Supported Platforms (0) | 2011.04.06 |
Windows XP에서 Eclipse CDT + QT 개발 환경 설정(1. QT 설치 및 Eclipse CDT와 병합) (0) | 2011.03.31 |