请大家给指点一下,到底是为什么?
ps:系统重装过了。 之前装的是fedora10,现在装的是fedora14 都还是不行。真是邪门了。 做如下几个实验:
1. 添加wqy-zenhei.ttc到/opt/EmbedSky/root_nfs/opt/qt-4.5/lib/fonts中,可以使用该字体,但改不了大小。
2. 把fonts文件夹的所有字体都删光,结果有字的部分就都是方框了。
3. 在fonts里仅仅保留wqy-zenhei.ttc,那么无论设w.setFont(QFont("wqy-zenhei",14,QFont::Normal));中的字体种类设置成什么,都调用fonts文件夹中仅剩的文泉驿字体。而无论设置字体大小为多少,都仅能显示一种字体大小。
从上面的实验可以总结一下,我这里的程序都是去找fonts文件夹中的一种默认的字体,w.setFont不起作用。这到底是为什么呢?
我用的是nfs调试,fedora14下的qtcreator2.0 看看是不是Linux的开发环境问题引起。
你试一试在Windows下开发利用试一试 又做了两个实验:
1.怀疑是在linux下的qtcreator开发环境的问题,于是直接在命令行中调试代码。运行了下面这个脚本:#!/bin/sh
source /opt/EmbedSky/qt-4.5/setARM_env
$QMAKE -project
$QMAKE
make clean
make
cp -f hello_cn /opt/EmbedSky/root_nfs/opt/qt-4.5/bin/hello_cn我的工程就一个主函数:#include <QtGui>
#include <QTextCodec>
#include <QFont>
int main(int argc, char *argv[])
{
//QWidget w;
QApplication a(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
//QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QWidget w;
w.setFont(QFont("wqy-zenhei",30,QFont::Normal));//这行是关键,没有这行是显示不了中文的。
w.setWindowTitle(QObject::tr("你好吗?why?"));
w.show();
return a.exec();
}
结果还是无效。字体大小改不了,在上面的语句中把“wqy-zenhei”随便改成任意的字符都没影响。我已经把/opt/EmbedSky/root_nfs/opt/qt-4.5/lib/fonts中的字体全部删空了,只留下了wqy-zenhei.ttc。
2.在windows下把wqy-zenhei.ttc放到我windows下qt的安装目录的\lib\fonts中,然后使用visual studio2008调试上面的这个代码,字体不对,大小也换不了。
2. 我的怎么也不行呢?是不是内核也有影响? 试了一下,可以显示了,不过还有点问题。 shangshan 发表于 2010-10-13 21:17 static/image/common/back.gif
QT_QWS_FONTDIR=$QTDIR/lib/fonts/ 之前就已经加在了etc/profile里了。我是用的天嵌的板子和文件系统,所以 ...
我也遇到这个问题,顶 版主,你好,用你这个方法无法改变字体大小啊。用的TQ2440 文件系统 环境变量都是按照手册光盘给的。求指点 本帖最后由 lzg371 于 2015-1-8 13:57 编辑
说实话,我要感谢shangshan, 你说的非常对,天嵌默认选中的字体确实是helvetica_120_50.qpf,但是原因我也不知道,希望懂的人给予解答。天嵌的默认配置选择字体到底在哪里?
页:
1
[2]