Remove QListView background

十年热恋 提交于 2019-12-01 23:28:55
rob

Don't forget that QScrollArea, which is base class for QListView contains "another" widget which is called Viewport. It can be accesed via viewport() method.

To achieve transparency You can simply just call:

viewport()->setAutoFillBackground( false );

and depending on other setting (i.e. parent widget settings) You should see background.

The answer depends on whether your QListView is a top-level widget. The QWidget docs on transparency explain in detail. For a top-level widget, it may be as simple as:

view->setWindowOpacity(50);

For a widget that's not top level, you want to set the background to one with an alpha channel:

QPalette palette = view->palette();
palette.setColor(QPalette::Background, Qt::transparent);
view->setPalette(palette);

You should also be able to do the same thing with style sheets:

view->setStyleSheet("background-color: transparent;");

You may need to set autoFillBackground to false so that the widget will not automatically fill in the background.

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