引用第1楼zhy0808于2006-12-02 16:21发表的“”:
我现在也碰到同样的问题。我的win2000下可以显示菜单和按钮中的汉字,可是我同事也是2000系统,可是运行同一个程序时则菜单和按钮下的汉字显示不出来,但是Xp却可以完全显示
我在WINXP+QT4+MINGW C,不能正常显示汉字——即使设置了编码,而且,不管是GB2312、GB18030都是一样,源程序如下:
dialog1.h
#ifndef DIALOG1_H
#define DIALOG1_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QDialog>
#include <QtGui/QLabel>
#include <QtGui/QPushButton>
class QPushButton;
class QLabel;
class Dialog1 : public QDialog
{
Q_OBJECT
public:
Dialog1(QWidget *fck = 0);
private:
QPushButton *pushButton;
QLabel *label;
};
#endif // DIALOG1_H
dialog1.cpp
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QDialog>
#include <QtGui/QLabel>
#include <QtGui/QPushButton>
#include "dialog1.h"
Dialog1::Dialog1(QWidget *fck)
: QDialog(fck)
{
pushButton = new QPushButton(this);
pushButton->setGeometry(QRect(30, 240, 361, 23));
label = new QLabel(this);
label->setObjectName(QString::fromUtf8("label"));
label->setGeometry(QRect(10, 10, 351, 71));
QFont font;
font.setPointSize(15);
font.setBold(true);
font.setWeight(75);
label->setFont(font);
setWindowTitle(tr("对话框"));
pushButton->setText(tr("确定"));
label->setText(tr("这是对话框1"));
QSize size(400, 300);
size = size.expandedTo(minimumSizeHint());
resize(size);
}
main.cpp
#include <QApplication>
#include <qtextcodec>
#include "dialog1.h"
int main(int argc, char *argv[])
{
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
QApplication app(argc,argv);
Dialog1 dialog1;
return dialog1.exec();
}