Общий идентификатор QLabel применен правильно, проблема, похоже, возникает, когда я даю виджетам идентификатор, поскольку CSS не применяется. Класс SampleLabel находится в другом файле и импортирован в main.py. Это минимальная проблема, которую я мог понять.
Иерархия виджетов приведена ниже.
Код: Выделить всё
QWidget (Central)
QVBoxLayout
QWidget (I want to style this)
QVBoxLayout
QLabel
Код: Выделить всё
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setGeometry(200, 200, 400, 200)
self.setStyleSheet(open("style.css").read())
self.central_widget = QWidget()
self.setCentralWidget(self.central_widget)
self.vbox = QVBoxLayout()
self.central_widget.setLayout(self.vbox)
self.label = item.ExampleLabel()
self.vbox.addWidget(self.label)
def main():
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
Код: Выделить всё
class ExampleLabel(QWidget):
def __init__(self):
super().__init__()
self.vbox = QVBoxLayout()
self.setObjectName("example")
self.label = QLabel("Hello World")
self.vbox.addWidget(self.label)
self.setLayout(self.vbox)
Код: Выделить всё
QLabel {
font-size: 24px;
font-weight: bold;
}
QWidget#example {
background-color: grey;
}

Подробнее здесь: https://stackoverflow.com/questions/790 ... ther-files