1
볼 수
까지 확장은 QTextEdit 스크롤 바가 사라질 때까지 레이아웃 스트레치가 확장되기 시작하여 QLabel
과 QPushButton
사이의 틈이 드러납니다.내가이 순서대로 다음 위젯 <code>QDialog</code> (<code>QVBoxLayout</code>)이 완전히
이 문제를 해결하기위한 합리적인 방법은 무엇입니까?
참고 : QDialog는 크기 조정 가능하며 QTextEdit에는 줄 바꿈 기능이 설정되어 있습니다.
편집 : QT4/PySide를 들어, 다음이 그것을 것보다 더 어렵습니다
class TextEdit(qt.QTextEdit):
def __init__(self, *args, **kwargs):
qt.QTextEdit.__init__(self, *args, **kwargs)
self.document().modificationChanged.connect(self.updateMaxHeight)
def updateMaxHeight(self, *args):
self.setMaximumHeight(self.document().size().height())
def resizeEvent(self, e):
qt.QTextEdit.resizeEvent(self, e)
self.updateMaxHeight()
class MyDialog(qt.QDialog):
def __init__(self, *args, **kwargs):
qt.QDialog.__init__(self, *args, **kwargs)
self.setLayout(qt.QVBoxLayout())
self.textEdit = TextEdit('Example text')
self.layout().addWidget(self.textEdit, 1) #1 for resizable
self.layout().addWidget(qt.QLabel('Example label')
self.layout().addStretch()
self.layout().addWidget(qt.QPushButton('Example button')
이 작동하지 않습니다 : 그것은 편집기를 사용하여 공간을 공유 시작하지 않도록
퍼즐의 마지막 조각은 스트레치 항목에게 더 큰 스트레치 요소를 제공하는 것입니다. OP는 PySide (Qt4)를 사용하므로'setSizeAdjustPolicy'가 없습니다. – ekhumoro