引言
创建的窗口中含有滚动区域,滚动区域创建了很多按钮,点击按钮后弹出一个弹框,当设置了滚动区域的中心窗口的背景样式后,之前设置好的点击后按钮弹出框的背景样式也跟随着变化了。
方法
究其原因是因为滚动区域的窗口与点击按钮后的弹出框之间存在着关系,他们所用的控件都是QWidget,同时他们按钮的弹窗与滚动区域的中心窗口又存在着间接性的父子关系,这样当设置了滚动区域的中心窗口的背景后,按钮点击后的弹出框背景也会跟随变化。这种情况下,就需要指明具体控件的名称,用以区分。采用的方法是:
ui->scrollAreaWidgetContents->setStyleSheet("QWidget#scrollAreaWidgetContents{background-color:transparent;border:none;}");
指明当前要设置样式的控件的名称QWidget#scrollAreaWidgetContents。