<学习笔记>
首先要明白,想要绘制图案,必须自己重写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();
来源:https://www.cnblogs.com/cocos2d-html/p/3629906.html