据我所知,您将窗口小部件的背景设置为图像的方式是修改qstylesheet以表示:
background-image: url(<your image here>);
这似乎有效,除非它是QDockWidget
的主要小部件。
这就是我所做的:
QWidget
对象,可能会在那里放一两个按钮,以确保您知道它正在被使用。background-image: url(<your image here>);
QDockWidget
,将其主要小部件提升为步骤2中制作的QWidget
。当您运行该程序时,您会注意到QDockWidget
的背景仍然是默认设置,但是您添加到窗口小部件的任何按钮或标签都将其背景更改为您选择的图像。
当您将qss行从background-image
更改为background-color
并选择颜色而不是图像时,窗口小部件会更改颜色。
有人有任何关于提供QDockWidget
背景图片(而不仅仅是背景颜色)的建议吗?
答案 0 :(得分:0)
显然你需要做的就是用以下方法覆盖小部件的痛苦事件:
void MyWidget::paintEvent(QPaintEvent *)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}