QTreeWidgetItems の束を持つ QTreeWidget があります。各項目にはいくつかの列があります。列の 1 つがウィジェットの幅よりも広い場合、下部にスクロール バーが表示されます。ウィジェットよりも幅の広い列内の QTreeWidgetItem をクリックすると、QTreeWidget は自動的にスクロールして、ウィジェット内の列をできるだけ多く取得しようとします。私はこれが起こることを望んでいません。これをオフにするにはどうすればよいですか?
質問する
2391 次
1 に答える
6
この動作は、次のように設定できるQAbstractItemView.autoScrollプロパティによって制御されます。
treewidget.setAutoScroll(False)
ただし、このプロパティは主に、アイテムをウィジェットのビューポートの端にドラッグするときに、ツリー ウィジェットを自動的にスクロールするために使用されます。したがって、この動作がまだ必要な場合は、代わりにツリー ウィジェットのマウス プレス イベントをオーバーライドすることをお勧めします。
def mousePressEvent(self, event):
self.setAutoScroll(False)
QtGui.QTreeWidget.mousePressEvent(self, event)
self.setAutoScroll(True)
于 2011-11-12T15:28:37.477 に答える