找回密码
 立即注册
收起左侧

使用qss样式表给QWidget的直接派生类添加背景图片

3
回复
5966
查看
[复制链接]
累计签到:10 天
连续签到:1 天
来源: 2014-4-10 16:21:13 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
从QWidge直接派生的一个窗口,使用stylesheet设置背景,在designer中可以看到效果,编译运行后,没有背景。原因QWidget直接派生类的样式表不起作用。需要先重写一下QWidget的paintEvent()事件,再使用样式表,因为QWidget的paintEvent()是空的,而样式表要通过paint被绘制到窗口中。

void myWidget::paintEvent(QPaintEvent *)
{

QStyleOption opt;

opt.init(this);

QPainter p(this);

style()->drawPrimitive(QStyle:E_Widget, &opt, &p, this);

}
qss样式表:
QWidget#mywidget
{
        border-image: url(E:/QtProjects/build/JJLX/UI/back.jpg);
}

QWidget#mywidget *  //让所有子窗口不使用父窗口的背景图片
{
        border-image: url();
}

回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-4-30 17:06:23 显示全部楼层
QStyleE_Widget~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-4-30 17:07:34 显示全部楼层
QStyleE_Widget 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-4-30 17:09:29 显示全部楼层

RE: 使用qss样式表给QWidget的直接派生类添加背景图片

RE: 使用qss样式表给QWidget的直接派生类添加背景图片    QStyleE_Widget....................
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了