• 12097阅读
  • 3回复

如何更改QGraphicsScene的背景 [复制链接]

上一主题 下一主题
离线wisconxing
 
只看楼主 倒序阅读 楼主  发表于: 2008-11-16
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
在我QGraphicsScene的构造函数中,已用drawBackground生成过原有背景图。如下:
class MyScene : public QGraphicsScene
{   
public:
    MyScene(qreal x, qreal y, qreal w, qreal h)
          : QGraphicsScene(x, y, w, h)      { }

protected:
    void drawBackground(QPainter *painter, const QRectF &rect)
{    //在此生成原有背景图
};
但在程序运行中,需要不断更改MyScene的背景,请问如何实现? 谢谢!

离线vrcats
只看该作者 1楼 发表于: 2008-11-17
需要改变背景的时候,调用QGraphicsScene::invalidate(),然后在drawBackground(...)里头画新背景
离线wisconxing
只看该作者 2楼 发表于: 2008-11-17
谢谢,您能不能给个详细点的说明?
离线robertkun

只看该作者 3楼 发表于: 2011-08-18
  1. // 绘制背景
  2.     painter->setPen(Qt::NoPen);
  3.     painter->setBrush(QBrush(QColor(192,192,192)));
  4.     painter->drawRect(rect);

备忘一下。。
                                              简单的生活使人快乐!
快速回复
限100 字节
 
上一个 下一个