1

のサブクラスがあり、このテーブルのドロップボックスを表示するためQAbstractTableModelに使用したいと思います。QComboBox

しかし、デフォルトでは、テーブルの最初の列だけが表示されますが、これは私が望むものではありません。setModelColumn0ではなく1列を表示しようとしましたが、機能しませんでした。

インターネットを見て回った後、私は2つの解決策を見つけました:

  1. QAbstractListModelの同じデータから別のデータを作成しますQAbstractTableModel
  2. を使用しQSortFilterProxyModelて他の列を非表示にします

どちらがベストか?ありがとう

4

1 に答える 1

1

を使用すると機能するsetModelColumnはずです。私はそれを修正しようとします。おそらくあなたmodelColumnは間違った時間に設定しました、ドキュメントはそれについてこれを言っています:

コンボボックスにデータを入力する前に設定した場合、ポップアップビューは影響を受けず、最初の列が表示されます(このプロパティのデフォルト値を使用)。

これが実際に機能せず、確実に機能する場合は、を使用してくださいQSortFilterProxyModel。これははるかに少ない作業であり、ほとんど些細なことです。

于 2012-11-06T08:45:29.890 に答える