3

ユーザーがQTableView. 何度か試みましたが、正しい動作を得ることができません。

  • 複数のエディターを開く唯一の方法は、1 つのエディターで結果QAbstractItemView::openPersistentEditor()を連続して呼び出すことです。QAbstractItemView::edit()
  • clicked()doubleClicked()fromなどのシグナルを使用しQAbstractItemViewて編集を呼び出すことはできません。これは、ビューの編集トリガーを尊重しないためです。
  • 「編集完了」のシグナルはないようです。closePersistentEditor()この信号を編集行のセルを呼び出すスロットに接続したいと思います。

任意の提案をいただければ幸いです。

ありがとう!

4

1 に答える 1

3

私は悪いニュースの担い手になるのは嫌いですが、あなたがやりたいことを簡単に行う方法は考えられません。私はいくつかのオプションを考えることができますが、それぞれが最後のものよりも苦痛です:

  • 常にエディターを表示するデリゲートを作成できます。ユーザーが選択した行を変更したときに、そのデリゲートを新しく選択した行に設定し、元のデリゲートを選択解除した行に設定します。
  • テーブルビューから継承し、指定された行のすべてに適切なアイテムを描画するための動作をオーバーライドしてみてください。これがどれほど難しいかはわかりませんが、些細なことではないかと思います。
  • モデルを表示するための独自のビューを作成できます。私はこれを行ったことがないので、モデルを「完全に」サポートするために必要なすべてのことを考えたくありません。ただし、1つの特定のモデルと一致させるために、それを回避できる場合があります。
于 2009-04-21T18:14:53.617 に答える