i18n

#include <qapplication.h>
#include <qdialog.h>
#include <qlabel.h>
#include <qstring.h>
#include <qtextcodec.h>

//这里我给你两种方法,你自己看一下。用哪种方法你就把另一种给注掉
#define METHOD1
//#define METHOD2

#ifdef METHOD2
QTextCodec *gp_codec;
#endif

class TestDlg : public QDialog
{
public:
 TestDlg(QWidget *parent = 0, const char *name = 0, bool modal = FALSE, WFlags f = 0);
 ~TestDlg();
};

TestDlg::TestDlg(QWidget *parent /* = 0 */, const char *name /* = 0 */, bool modal /* = FALSE */, WFlags f /* = 0 */) : QDialog(parent, name, modal, f)
{
 QLabel *lbl_Title = new QLabel(this, "lbl_Title", 0);

 QString str = "测试";
#if defined(METHOD1)
 lbl_Title->setText(tr(str));
#elif defined(METHOD2)
 lbl_Title->setText(gp_codec->toUnicode(str));
#endif
 lbl_Title->setGeometry(10, 10, lbl_Title->sizeHint().width(), lbl_Title->sizeHint().height());
}

TestDlg::~TestDlg()
{
}


int main( int argc, char** argv )
{
 QApplication app( argc, argv );
#if defined(METHOD1)
 QTextCodec *pCodec = QTextCodec::codecForName("GB2312");
 app.setDefaultCodec(pCodec);
#elif defined(METHOD2)
 gp_codec = QTextCodec::codecForName("GB2312");
#endif
 TestDlg dialog( 0, 0, TRUE );
 app.setMainWidget(&dialog);

 dialog.exec();

 return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值