Qt QSS样式文件与设计器样式

Qt QSS样式文件与设计器样式,qt,qtstylesheets,Qt,Qtstylesheets,我使用png作为QPushButton背景。样式表代码: QPushButton { border: none; width: 80px; height: 80px; background-color: transparent; border-image: url(":/icons/GitHub-Mark-Light.png"); } QPushButton:hover { border-image: url(":/icons/GitHub-Ma

我使用png作为QPushButton背景。样式表代码:

QPushButton
{
    border: none;
    width: 80px;
    height: 80px;
    background-color: transparent;
    border-image: url(":/icons/GitHub-Mark-Light.png");
}

QPushButton:hover
{
    border-image: url(":/icons/GitHub-Mark-Light-Hover.png");
}

QPushButton:pressed
{
    border-image: url(":/icons/GitHub-Mark-Light.png");
}
如果我在Qt设计器中设置了这段代码,那么png背景在需要的地方是透明的。 但是,当我在CSS文件中设置相同的代码时,png透明度正在丢失

如何修复此问题并通过CSS使用png?

我不知道为什么在Qt Designer或CSS文件中应用不同的样式,但显然Qt Designer以一种特殊的方式覆盖了父样式(父窗口的样式)

我通过将父窗口的样式也传输到CSS文件解决了这个问题。

在设计器中设置样式就像在(及其子对象)上设置样式一样,而QSS样式文件对所有对象都是全局的(取决于加载它的对象)。它可以使样式的级联或继承不同,但我不明白为什么会出现这种行为。