首页| 论坛| 消息

标题:qt-3.3.8关于字体大小的问题
作者:anthonymo200
日期:2011-03-29 10:50
内容:

在Qt3的应用程序中, 我想用双缓冲的方式来显示界面, 有些字体需要大一下, 有的字体需要小一点的,
我定义了一个QPixmap mwPm的图片变量, 然后定义一个QPainter p; 还定义了一个QFont gft;的变量,
我写了一段代码如下:
QPainter p(&mwPm);
gft.setPointSize(25);
p.setFont(gft);//setFont(gft);
if (p.isActive()){p.end();}
p.begin(&mwPm);
p.drawPixmap(0, 0, pix);
p.drawText(200, 200, QString("Hello World!"));
p.end();
无论设置多大的字体, 在屏幕上显示的字体都没有变化;而如果改成下面的代码就可以了
QPainter p(this);
gft.setPointSize(44);
setFont(gft);
if (p.isActive()){p.end();}
p.begin(this);
p.drawText(100, 100, QString("Hello World!"));
p.end();
问: 为什么改成&mwPm改成this就可以了, 而且不能用p.setFont(gft);只能使用setFont();
我查看了QPainter类, 是有setFont这个成员函数的。请各位dx出来讨论一下。


#1 [anthonymo200 04-04 16:20]
解决了, QWidget的窗体运行了以后才可以设置字体

回复 发表
主题 版块