5

ユーザーが QTableView アイテムの編集をいつ終了したかを知りたいので、利用可能なすべてのシグナルをチェックしましたが、編集前に放出されるものしか見つかりませんでした。

それで、私は今何をすべきですか?

Qt 4.8.4 の実行

4

2 に答える 2

7

でしか見られない編集終了の真のシグナルQAbstractItemDelegatecloseEditor()シグナルです。ユーザーがセル内で何も変更しない場合、モデルからの他のすべてのシグナルは機能しませんが、編集が終了するたびにデリゲートが閉じられます。ドキュメントが言ったように:

このシグナルは、ユーザーが指定されたエディターを使用してアイテムの編集を終了したときに発行されます。

ヒントは、デリゲートが編集完了後のモデルとビューの動作に影響を与える方法を提供します。これらのコンポーネントに対して、ユーザーに快適な編集エクスペリエンスを提供するために次に実行する必要があるアクションを示します。たとえば、EditNextItem が指定されている場合、ビューはデリゲートを使用して、モデル内の次の項目でエディターを開く必要があります。

使用法:

connect(ui->tableView->itemDelegate(),SIGNAL(closeEditor(QWidget*,QAbstractItemDelegate::EndEditHint)),SLOT(someSlot()));
于 2015-10-12T11:46:57.317 に答える