QT--设置背景或颜色

<学习笔记>

  首先要明白,想要绘制图案,必须自己重写paintEvent(否则不能设置背景图片,颜色还是可以填充),以下是例子

定义:

  

 #include     <QStyleOption>
 #include     <QPainter>

void paintEvent(QPaintEvent *);

 

实现:

1 void Picture::paintEvent(QPaintEvent *)
2 {
3     QStyleOption opt;
4     opt.init(this);
5     QPainter p(this);
6     style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
7 }

以QWidget为例

1 Board *bordwgt=new Board(this);
2     bordwgt->setObjectName("bord");//设置对象样式表的名字
3     //其中#bord表示对board这个样式表名字的有效,{}大括号里面的同html用法,如果想换成颜色则:background-color:rgb(x,x,x)即可
4     //如果不懂html则可以去控件属性中找到stylesheel,选择你想要的效果,会自动生成html代码
5     bordwgt->setStyleSheet("#bord{border-image: url(:/image/image/bord.jpg);}");
6     bordwgt->setGeometry(150,50,500,500);
7     bordwgt->show();

 

 

posted @ 2014-03-28 09:03  随心随想  阅读(11883)  评论(0编辑  收藏  举报