これはほぼ正確に私はQTextEditは、コンテンツの変更にREPONSEでその高さを調整することについて、他の日に答える質問のようにされています。私はあなたが欲しいその可能性を疑うようPySide Qt: Auto vertical growth for TextEdit 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
また、私はあなたの他のポストではそれを見ることができませんでした。私は、QTextEditの高さをドキュメントにラップするために、前者がサイズ変更されたときに次のものを接続する必要がありました: 'self.document()。documentLayout()。documentSizeChanged.connect (self.wrapHeightToContents) 'を返します。 – Benjamin
私の例では、別の信号を使っています。他の接続は必要ありませんでした – jdi