4

編集の進行中にエディター(QLineEditインスタンス)を取得する方法はありますか?

4

1 に答える 1

7

デリゲートは編集ウィジェットを作成しますが、それを保存せず、ビューはそれにアクセスできません(おそらく永続的ではないため)。

したがって、返されたポインタのコピーを格納するには、サブクラス化QStyledItemDelegateして再実装する必要があります。createEditor(QWidget*, const QStyleOptionViewItem&, const QModelIndex&) const次に、デリゲートを介してエディターへのアクセスを提供できます。

AFAIKでは、1つのビューで一度に複数のエディターを作成することはできません。また、ビュー間での代理人の共有はお勧めしません。そのため、最後に作成したエディターを保持するだけで十分です。また、ポインターをnullにして、作成したエディターの破棄されたシグナルに接続するプライベートスロットを作成します。これにより、ポインターが常に有効であることがわかります。

于 2013-01-28T13:53:00.270 に答える