QT--设置背景或颜色

孤街浪徒 提交于 2020-03-17 05:30:27

<学习笔记>

  首先要明白,想要绘制图案,必须自己重写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();

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!