как в PyQt5 сделать QSplitter видимым?

QSplitter в PyQt5 по умолчанию невидим.

Я находил советы, в которых нужно было добавить "всего 20 строчек кода" для отображения разделителя, но мне кажется это можно сделать проще. Подскажите пожалуйста как?

from PyQt5 import QtCore, QtWidgets
import sys
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
splitter = QtWidgets.QSplitter(QtCore.Qt.Vertical)
label1 = QtWidgets.QLabel('Поле 1')
label2 = QtWidgets.QLabel('Поле 2')
splitter.addWidget(label1)
splitter.addWidget(label2)
vbx = QtWidgets.QVBoxLayout()
vbx.addWidget(splitter)
window.setLayout(vbx)
window.show()
sys.exit(app.exec_())

splitter по умолчанию не отображается


Ответы (1 шт):

Автор решения: S. Nick

Попробуйте так:

from PyQt5 import QtCore, QtWidgets
import sys

app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()

splitter = QtWidgets.QSplitter(QtCore.Qt.Vertical)

splitter.setStyleSheet("""
QSplitter::handle:vertical {
    height: 2px;
    background-color : red;
}
""")

label1 = QtWidgets.QLabel('окно 1')
label2 = QtWidgets.QLabel('окно 2')
splitter.addWidget(label1)
splitter.addWidget(label2)

vbx = QtWidgets.QVBoxLayout()
vbx.addWidget(splitter)
window.setLayout(vbx)

window.show()
sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка