這幾乎是完全一樣的問題,我回答了一天大約做一個QTextEdit調整其效應初探高度含量的變化:PySide Qt: Auto vertical growth for TextEdit Widget
我回答,而不是標誌着一個重複的,因爲我懷疑其可能你想有一個這個變化。讓我知道如果你要我擴大這個答案:
另一個問題有多個部分。這裏是增長的高度widget的摘錄:
class Window(QtGui.QDialog):
def __init__(self):
super(Window, self).__init__()
self.resize(600,400)
self.mainLayout = QtGui.QVBoxLayout(self)
self.mainLayout.setMargin(10)
self.scroll = QtGui.QScrollArea()
self.scroll.setWidgetResizable(True)
self.scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
self.mainLayout.addWidget(self.scroll)
scrollContents = QtGui.QWidget()
self.scroll.setWidget(scrollContents)
self.textLayout = QtGui.QVBoxLayout(scrollContents)
self.textLayout.setMargin(10)
for _ in xrange(5):
text = GrowingTextEdit()
text.setMinimumHeight(50)
self.textLayout.addWidget(text)
class GrowingTextEdit(QtGui.QTextEdit):
def __init__(self, *args, **kwargs):
super(GrowingTextEdit, self).__init__(*args, **kwargs)
self.document().contentsChanged.connect(self.sizeChange)
self.heightMin = 0
self.heightMax = 65000
def sizeChange(self):
docHeight = self.document().size().height()
if self.heightMin <= docHeight <= self.heightMax:
self.setMinimumHeight(docHeight)
來源
2012-08-08 06:25:56
jdi
這正是我所需要的。雖然沒有遇到過我的搜索字詞。謝謝! – Benjamin 2012-08-08 19:30:19
也(我看不出在你的其他職位)我不得不連接下列以包裹的QTextEdit的高度,它的文檔時,前者被調整:'self.document()documentLayout()documentSizeChanged.connect。 (self.wrapHeightToContents)'。 – Benjamin 2012-08-09 04:37:01
如果您在我的示例中看到我正在使用更高的不同信號。我沒有需要您連接到在C++中 – jdi 2012-08-09 04:44:34