Я занимаюсь разработкой приложения на Python с использованием PyQt5. Вот этот код:
class Dialog(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.layout = QtWidgets.QGridLayout()
self.main = QtWidgets.QWidget()
self.main.setLayout(self.layout)
self.setStyleSheet(QMainWindowStyle)
self.setCentralWidget(self.main)
self.show()
class AppearanceTab(QtWidgets.QWidget):
def __init__(self):
super().__init__()
class SettingsDialog(Dialog):
def __init__(self):
super().__init__()
self.tabs = QtWidgets.QTabWidget(self)
self.tabs.setStyleSheet(QTabWidgetStyle)
self.layout.addWidget(self.tabs)
self.tab_appearance = AppearanceTab()
self.tab_appearance.setStyleSheet(QWidgetStyle)
self.tab_appearance_layout = QtWidgets.QGridLayout()
self.tab_appearance.setLayout(self.tab_appearance_layout)
self.tabs.addTab(self.tab_appearance, "Appearance")
self.tab_server = QtWidgets.QWidget()
self.tab_server.setStyleSheet(QWidgetStyle)
self.tab_server_layout = QtWidgets.QGridLayout()
self.tab_server.setLayout(self.tab_server_layout)
self.tabs.addTab(self.tab_server, "Server")
Почему self.tab_appearance
является экземпляром AppearanceTab
(который должен быть копией QWidget
), он имеет стиль, отличный от self.tab_server
(т. Е. Цвет фона меняется), когда self.tab_server
является экземпляром QWidget
?
Таблица стилей просто определяет background-color: #333333
и color: #dddddd
.
Заранее спасибо.
EDIT:
Я считаю, что таблица стилей не применяется должным образом к AppearanceTab
, однако я не знаю, почему это будет видно, поскольку она просто наследуется от QWidget
.
РЕДАКТИРОВАТЬ 2:
MCVE (вместе с остальной частью моего проекта) можно найти на github .