Я пытаюсь создать виджет, в котором фрейм находится внутри другого фрейма, а отступ внешнего фрейма составляет фиксированный процент от его высоты. Я пытался сделать это с помощью таблиц стилей, но оказалось, что отступы обрабатываются так, как если бы я задавал их в пикселях, а не в процентах. Есть ли очевидный способ это исправить?
Кроме того, не столько вопрос, сколько напыщенная речь: почему не имеет значения, если я задаю внутреннему фрейму поле, равное 0, и мне приходится устанавливать его через макет с помощью setContentMargins? Кажется очень странным, что макет также частично отвечает за стиль. Заранее спасибо!
from PySide6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QFrame
app = QApplication([])
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
outerFrame = QFrame()
outerFrame.setObjectName('outerFrame')
outerFrame.setStyleSheet("QFrame#outerFrame{background-color: green; padding: 10%}")
outerLayout = QVBoxLayout()
outerLayout.setContentsMargins(0, 0, 0, 0)
innerFrame = QFrame()
innerFrame.setObjectName('innerFrame')
innerFrame.setStyleSheet("QFrame#innerFrame{background-color: red; border: 1px inset black; margin: 0}")
outerLayout.addWidget(innerFrame)
outerFrame.setLayout(outerLayout)
self.setCentralWidget(outerFrame)
window = MainWindow()
window.show()
app.exec()```
Подробнее здесь: https://stackoverflow.com/questions/798 ... in-percent