QListViewでは、複数のマウスドラッグを無効にしたいと思っています。つまり、行をドラッグしてドラッグしている間にマウスを下にドラッグし、その下の行を選択します。QListViewの複数選択モードを変更する
私はまだCTRL-マウスクリックを使って行を選択したいと思います。
これは可能ですか?
QListViewでは、複数のマウスドラッグを無効にしたいと思っています。つまり、行をドラッグしてドラッグしている間にマウスを下にドラッグし、その下の行を選択します。QListViewの複数選択モードを変更する
私はまだCTRL-マウスクリックを使って行を選択したいと思います。
これは可能ですか?
私はそれを行う最も簡単な方法は、QListViewから派生クラスを作成し、mouseMoveEvent関数をオーバーライドすることだと思います。 QListViewのQtコードのこの関数は、ドラッグ状態を探し、矩形を作成します。私はこのような何かが働くかもしれないと思うが、私はそれをテストしていない:
void DerivedListView::mouseMoveEvent(QMouseEvent *e) {
if (state() != DragSelectingState)
QListView::mouseMoveEvent(e);
}
あなたがQAbstractItemView ::複数選択にリストビューの選択モードを設定しているようです。
listView->setSelectionMode(QAbstractItemView::ExtendedSelection);
を使用してQAbstractItemView :: ExtendedSelectionに設定してみてください。
'ExtendedSelection'は' MultiSelection'のスーパーセットなので、クリック+ドラッグでも選択されます。 –
nice。それは仕事をした。 – JasonGenX
は本当にありません。空のスペースからドラッグすると、最初にタッチされたアイテムが選択されます。 –