• 4370阅读
  • 1回复

[提问]qt-3.3.8关于字体大小的问题 [复制链接]

上一主题 下一主题
离线anthonymo200
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-29
在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出来讨论一下。  
离线anthonymo200
只看该作者 1楼 发表于: 2011-04-04
解决了, QWidget的窗体运行了以后才可以设置字体
快速回复
限100 字节
 
上一个 下一个