Я пытаюсь сбросить таблицу стилей в 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 сохраняют больший шрифт из предыдущей таблицы стилей.
Есть ли еще один шаг, который я должен предпринять, чтобы вернуть все виджеты к их дизайну по умолчанию?