如何在PyQt中获取Qtwidgets的原生样式?

How to get the native styles of Qtwidgets in PyQt?

我为我的应用程序启用了 QDarkStyle,它为进度条块提供了自己的颜色。我想要做的是只为进度条保留以前的默认样式。如何做到这一点?

我试过设置 ui.Progressbar.setStylesheet(''),但运气不好。

我也不知道Qt中QProgressBar的原生默认样式是什么。所以我什至无法将我的样式表设置为那个。

也在做这个

QProgressBar {
    border: 1px solid #76797C;
    text-align: center;
    color:black;
}

    QProgressBar::chunk {
        background-color:green ;
}

移除进度条填充时的移动类效果,只显示绿色块颜色,无任何效果。如何解决这个问题?

如果需要,您可以简单地使用 QWidget.setStyle(style) 指定每个小部件的样式。例如,您可以将应用程序样式设置为深色样式,然后使用样式设置为 QCommonStyle 的进度条小部件,这是默认的原生样式。

在下面的示例中,我使用了 Fusion 样式,因为我没有您的深色样式。

from PyQt5.QtWidgets import *

app = QApplication([])

# store native style
native_style = QCommonStyle()

# set new style globally
s = QStyleFactory.create('Fusion')
app.setStyle(s)

w = QWidget()
w.setFixedSize(300, 200)
l = QVBoxLayout(w)
l.addWidget(QLabel('Label'))
l.addWidget(QPushButton('Button'))
l.addWidget(QProgressBar())

# create progressbar in old style
p = QProgressBar()
p.setStyle(native_style)
l.addWidget(p)

w.show()
app.exec_()

可以很明显的看到两个进度条其中一个是不同风格的