QFileSystemModelをモデルとして持つQTreeViewがあります。
QTreeViewでは、SelectionBehaviorがSelectRowsに設定されています。
私のコードでは、データセットを読み取って選択し、次の方法で選択します。
idx = treeview->model()->index(search);
selection->select(idx, QItemSelectionModel::Select);
これにより、行ではなくセルが選択されます。 。
愚かな回避策を追加しましたが、これを正しい方法で修正したいと思います。
for (int col=0; col< treeview->model()->columnCount(); col++)
{
idx = treeview->model()->index(search, col);
selection->select(idx, QItemSelectionModel::Select);
}
それとも^^それを行う唯一の方法ですか?
QItemSelectionを使用して行全体を選択することもできます。
selection->select (
QItemSelection (
treeview->model ()->index (search, 0),
treeview->model ()->index (search, treeview->model ()->columnCount () - 1)),
QItemSelectionModel::Select);
また、ユーザークリックの行選択も必要な場合は、選択動作を設定する必要があります。
treeview->setSelectionBehavior (QAbstractItemView::SelectRows)
行全体を選択する場合は、次を使用する必要があります。
selection->select(idx, QItemSelectionModel::Select | QItemSelectionModel::Rows);
最初に選択をクリアしたい場合があることに注意してください。
selection->select(idx, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows);