如何在 Qt 中使 MainWindow 的背景图像不覆盖子窗口小部件的
How to make it in Qt that the MainWindow's background image does not override child widget's
我用Qt做了一个应用。只是为了纯粹的酷,我正在尝试为应用程序添加背景,
通过添加以下样式表:
// in the stylesheet of "centralwidget"
background-image: url(:/background/assets/background/matrix.jpg)
它已覆盖,而不是我所期待的(背景图像位于小部件后面)
每个小部件的背景:
With background
Without background image
在父窗口小部件上使用样式表将其应用于 qt 中的所有子窗口小部件:
所以解决方案是指定小部件的 class 名称:
(例如 QFrame)
frame->setStyleSheet("QFrame{ background-image: url(image_path) }")
或更精确地使用 widget->setObjectName("objectName")
:
widget->setObejectName("objectName");
widget->setStyleSheet("#objectName{ background-image: url(image_path) }")
我用Qt做了一个应用。只是为了纯粹的酷,我正在尝试为应用程序添加背景, 通过添加以下样式表:
// in the stylesheet of "centralwidget"
background-image: url(:/background/assets/background/matrix.jpg)
它已覆盖,而不是我所期待的(背景图像位于小部件后面) 每个小部件的背景: With background
Without background image
在父窗口小部件上使用样式表将其应用于 qt 中的所有子窗口小部件:
所以解决方案是指定小部件的 class 名称:
(例如 QFrame)
frame->setStyleSheet("QFrame{ background-image: url(image_path) }")
或更精确地使用 widget->setObjectName("objectName")
:
widget->setObejectName("objectName");
widget->setStyleSheet("#objectName{ background-image: url(image_path) }")