QTableViewを以下のように作成し、デフォルトアイテムとしてトップアイテムを選択したいとします。QTableViewのトップアイテムの選択方法
D-> UI->のプロジェクトは私QTableViewを表し注ことproxyModel = new QSortFilterProxyModel(this);
proxyModel->setSourceModel(d->model);
d->ui->projects->setModel(proxyModel);
d->ui->projects->setSortingEnabled(true);
proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
proxyModel->setFilterKeyColumn(-1);
connect(d->ui->projects->model(),SIGNAL(dataChanged(QModelIndex,QModelIndex)),d,SLOT(selectTopOne()));
connect (d->ui->search_phrase, SIGNAL(textChanged(QString)),
proxyModel, SLOT(setFilterWildcard(QString)));
。 &d-> ui-> projectsは、検索文字列を取得するテキスト編集用です。
私は、dataChanged信号でスロットselectTopOneを呼び出して、自分のテーブルビューの一番上の項目を選択しようとしました。しかし、それはスロットを求めていません。
そして、私はQmodelindex(0,0)で行を選択しようとしました。しかしそれはあまり働かなかった。
編集:
これは、現在のQTableviewの表示方法です。
これは私がする必要がどのようなものです。私は最初の行を自動的に選択する必要があります。
フィルタQTableviewのトップ項目のテキスト編集によります。私はその時にトップアイテムを選択したい。
「selectTopOne()」が呼び出されていますか? – Apin
SLOTであり、モデルのdataChanged SIGNALに接続されています。私はコードをデバッグします。しかし、selectTopOne()内のブレークポイントはヒットしません。 –
あなたのselectTopOneが起動されないという問題が発生します。 d-> ui->プロジェクトタイプ(テキストフィールドだと言いましたが、テキストフィールドは正確に何か分かりません)とは何ですか? – Apin