QDataWidgetMapper の初期化で奇妙な問題が発生しました。
このようにすると動作しますが、ウィジェット間の同期はありません:
dataMapper->setModel(model);
dataMapper->toFirst();
dataMapper->addMapping(ui.uiName, 0);
ドキュメントには、どの要素にも移動するように指示されていません (toFirst() を呼び出して実行します)。
ウィジェットにマップした後に最初の要素に移動しようとすると、インデックスが範囲外のエラーでクラッシュします。
dataMapper->setModel(model);
dataMapper->addMapping(ui.uiName, 0);
dataMapper->toFirst();
このようにバイパスすると、想定どおりに機能します。
dataMapper->setModel(model);
dataMapper->toFirst();
dataMapper->addMapping(ui.uiName, 0);
dataMapper->toFirst();
私の場合、なぜこれが必要なのか誰か教えてもらえますか? 私自身のモデルの実装にバグがあるのでしょうか、それともこのようにするのが一般的ですか? しかし、それが一般的である場合、ドキュメントや例で言及されていないのはなぜですか?
よろしく