QTableWidgetで選択された行/列を制限するにはどうすればよいですか?私は、正確に2つの列と任意の行の量を選択するために、ユーザーに(すでに行われている)連続選択を使用させる必要があります。QTableWidgetの選択を制限する方法
ありがとうございます!
QTableWidgetで選択された行/列を制限するにはどうすればよいですか?私は、正確に2つの列と任意の行の量を選択するために、ユーザーに(すでに行われている)連続選択を使用させる必要があります。QTableWidgetの選択を制限する方法
ありがとうございます!
あなたはおそらく2つのいずれかを実行する必要があります:あなたはQItemSelectionModel
のサブクラスを作成し、あなただけの2行から、それに項目を追加するように選択QModelIndex
ESを追加および削除するための機能を実装する必要があります
次のような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
シグナル。
申し訳ありませんが、私はちょうど彼らがあまりにも多くを選択した場合、ユーザーにメッセージを与えるより簡単な方法で行くと思うが、それは私の質問に答える。 –