TransWikia.com

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

Stack Overflow на русском Asked by arachnoden on November 20, 2021

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

Я находил советы, в которых нужно было добавить "всего 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 по умолчанию не отображается

One Answer

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

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_())

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

Answered by S. Nick on November 20, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP