Сброс таблицы стилей Qt не работает для некоторых элементов - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь сбросить таблицу стилей в Qt5, задав для нее пустую строку.

Кажется, это работает для большинства виджетов, но не для других, таких как QDateEdit или QSpinBox.

Вотпример сценария:

import sys
from PySide2.QtWidgets import *


class Form(QDialog):
    def __init__(self, parent=None):
        super(Form, self).__init__(parent)

        self.label = QLabel("FooBar")
        self.edit = QLineEdit("Demo")
        self.date = QDateEdit()
        self.spin = QSpinBox()
        self.button = QPushButton("reset style")

        layout = QVBoxLayout()
        layout.addWidget(self.label)
        layout.addWidget(self.edit)
        layout.addWidget(self.date)
        layout.addWidget(self.spin)
        layout.addWidget(self.button)
        self.setLayout(layout)

        self.setStyleSheet("Font: bold italic 30pt 'Comic Sans MS'")
        self.button.clicked.connect(self.changeCSS)

    def changeCSS(self):
        self.setStyleSheet("")


if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = Form()
    form.show()
    sys.exit(app.exec_())

Когда я нажимаю кнопку «сбросить стиль», тогда QLabel, QLineEdit и QPushButton возвращаются к их дизайну по умолчанию, но QDateEdit и QSpinBox сохраняют больший шрифт из предыдущей таблицы стилей.

Есть ли еще один шаг, который я должен предпринять, чтобы вернуть все виджеты к их дизайну по умолчанию?

...