3

QTreeWidgetItems の束を持つ QTreeWidget があります。各項目にはいくつかの列があります。列の 1 つがウィジェットの幅よりも広い場合、下部にスクロール バーが表示されます。ウィジェットよりも幅の広い列内の QTreeWidgetItem をクリックすると、QTreeWidget は自動的にスクロールして、ウィジェット内の列をできるだけ多く取得しようとします。私はこれが起こることを望んでいません。これをオフにするにはどうすればよいですか?

4

1 に答える 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 に答える