引用第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();
}