cyd411 发表于 2012-9-14 11:22:29

qt只能显示部分汉字

本帖最后由 cyd411 于 2012-9-14 15:37 编辑

代码如下,版主这个是怎么回事呢?我调试了很久还是不行
wenquanyi 如果我不添加这个字库 所有汉字都不能显示,现在添加了这个字库,标题栏的汉字不能显示,lable的正常
   w.setWindowTitle(QObject::tr("天嵌LED"));      这里就不能显示汉字只能显示led
ui->label->setFont(QFont("wenquanyi",16,QFont::Normal));    这里显示正常



问题解决了 注意删除
Helvetica 字库有这个字库就不能显示不知道为什么


#include <QtGui/QApplication>
#include <QTextCodec>
#include "hellocn.h"



int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    //QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
    CHelloCn w;
    w.setFont(QFont("wenquanyi",16,QFont::Normal));
    w.setWindowTitle(QObject::tr("天嵌LED"));      这里就不能显示出来只能显示led
    w.show();

    return a.exec();
}
#include "hellocn.h"
#include "ui_hellocn.h"

CHelloCn::CHelloCn(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::CHelloCn)
{
    ui->setupUi(this);

    //setWindowTitle(tr("hello 测试"));
    /* 如果设置了下面的语句关掉了左上角的图标,右上方的最小化 最大化 关闭按钮*/
    //setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint);
    ///this->setEnabled(true);
    //this->resize(320,240);

    //this->setFont(QFont("wenquanyi",16,QFont::Normal));
    //this->setWindowTitle(QObject::tr("天嵌LED"));
    //ui->label->setFont(QFont("wenquanyi",26,QFont::Normal));
    ui->label->setFont(QFont("wenquanyi",16,QFont::Normal));    这里显示正常
    ui->label->setText(QObject::tr("天嵌LED"));
}



Jangel 发表于 2012-9-14 11:26:18

用trUTF试试

cyd411 发表于 2012-9-14 11:33:19

Jangel 发表于 2012-9-14 11:26 static/image/common/back.gif
用trUTF试试

w.setWindowTitle(QObject::trUtf8("天嵌LED"));这个吗? 不行,我试了

cyd411 发表于 2012-9-14 12:38:45

我感觉是我文件编码有问题,我是在window下写的qt程序,应该使用什么编码呢????

cyd411 发表于 2012-9-14 15:08:34

问题解决了,就是QT IDE编码的问题,需要进行下设置。。。。要么字体有问题

cyd411 发表于 2012-9-14 15:17:31

但是我必须要删除font下的其他字库,目前我就留下了wenquanyi这个时候上面栏中可以显示汉字了,这个是为什么呢?求指教
页: [1]
查看完整版本: qt只能显示部分汉字