QTableWidget で選択された行/列を制限するにはどうすればよいですか? 正確に 2 つの列と任意の数の行を選択するには、ユーザーに連続選択 (既に行われています) を使用させる必要があります。
ありがとう!
QTableWidget で選択された行/列を制限するにはどうすればよいですか? 正確に 2 つの列と任意の数の行を選択するには、ユーザーに連続選択 (既に行われています) を使用させる必要があります。
ありがとう!
おそらく、次の 2 つのいずれかを行う必要があります。
QItemSelectionModel
選択した es を追加および削除するための関数をサブクラス化および実装QModelIndex
して、2 行の項目のみを追加する必要があります。QItemSelectionModel
これを行うには、次のようなシグナルをキャッチするためのカスタム実装を用意します。
connect(tableWidget->selectionModel(),
SIGNAL(selectionChanged(QItemSelection &, QItemSelection &)),
selectionHandler,
SLOT(updateSelection(QItemSelection &, QItemSelection &)));
は、アイテムselectionHandler
の行と列をチェックし、ユーザーに保持してもらいたい行の範囲外にあるすべてのインデックスを削除するオブジェクトです。QModelIndex
QItemSelection
selectionHandler->ignoreSelectionUpdateSignal();
tableWidget->selectionModel()->select(QItemSelection&);
selectionHandler->acceptSelectionUpdateSignal();
また、無限ループ処理信号に入らないようにする必要がありますignore
。accept
selectionChanged