• 16188阅读
  • 2回复

为什么使用QPainter的drawText方法字体没有显示出来 [复制链接]

上一主题 下一主题
离线afeixiao
 

只看楼主 倒序阅读 楼主  发表于: 2010-02-09
开发板已经移植好QTE4.5.3,在跑一个测试程序时发现使用QPainter的drawText方法字体没有显示出来,但是绘制图片就很正常,各位能否帮忙解答下呢?

在我的字体库安装路径下有 wenquanyi_120_50.qpf这个字体库

#include "qteTest.h"
#include <QApplication>
#include <QTextCodec>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));
Qt::WindowFlags flags = 0;
flags |= Qt::FramelessWindowHint;

qteTest *qte = new qteTest;
qte->setWindowFlags(flags);

qte->show();

return app.exec();
}


void qteTest::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QFont font("wenquanyi",15); //使用wenquanyi字体
painter.setFont(font);
QRect rect = QRect(30,30,150,80);
if ( 0 == m_nStatus)
{
painter.drawPixmap(m_rtMyVod, m_pixMyVod1, m_rtMyVod);  //正常显示
}
else if ( 1 == m_nStatus)
{
painter.drawPixmap(m_rtMyVod, m_pixMyVod2, m_rtMyVod);  //正常显示
}
painter.drawText(rect, Qt::AlignLeft, tr("just 传说!I!"));  //没有显示出来

}


各位分析下会是什么原因呢?我自己是怀疑可能是字体库的问题,但又不知道出在哪。刚开始我想使用QTE默认的,发现不出字体,后来又自己设置字体,但还是一样。。。。。。。。
离线afeixiao

只看该作者 1楼 发表于: 2010-02-09
哦 已经解决  确实是字体库问题  我把所有的字体都移植过去后发现字体可以正常使用了    默认时字体很小,需要自己设置   而设置为wenquanyi字体后也很正常
离线yiyuan
只看该作者 2楼 发表于: 2010-03-02
请问, 你是怎么加载的字体库呢?

我也出现了这样的问题, 汉字显示不出来,但英文图片等,其他一切这正常, 可否指教?  谢谢
快速回复
限100 字节
 
上一个 下一个