1
  1. プロパティのセットを編集するためのフォームを動的に作成したいと思います(xmlファイルなどから)。

  2. その上で、一連のルール (理想的には動的にロードされる) を使用して、各プロパティ (必須値/オプション値) の検証を実行したいと考えています。これらのルールは、単一のフィールド (許可される値、範囲など) に関連付けることができますが、複数のフィールドをリンクすることもできます (条件付き検証)。

  3. 「その場で」(フィールドがフォーカスを失うとすぐに) 結果を保存できるようにしたいと考えています。

誰かが私を始めるための良いリードを持っていますか?
これが私がこれまでに見つけたものです:

  1. 動的フォーム生成用の Qt プロパティ ブラウザー フレームワークから始めることができます。ニーズに合わせてこのフレームワークを拡張できます。

  2. 検証に関しては、良いスタートと思われる QValidator について読みました。ただし、いくつかのフィールドを含むものは見つかりませんでした (クロスパラメーター検証)

  3. QSettings フレームワークは、この自動保存機能を非常にうまく実行しており、それを再利用できると思います。

比較的標準的なことのように思えるので、自分の目標に対処するための既存のフレームワークを見逃していないことを確認したかっただけです。

4

1 に答える 1

2

フォームのフィールドが固定されていると仮定します。次に、 a の共有インスタンスを使用し て、フィールドへのポインターを含むリスト/辞書/マップQValidatorに対して検証を実行することにより、すべてのフィールドのテキストを検証できます。リスト/*dictionary*/マップは、動的に入力およびクリアする必要があり、それへのポインターは内部にハードコーディングされてい ます。また、共有が許可されていない場合は、個別のものを作成してクロス フィールド検証を実行する必要があります。QValidate::validateQValidator

または、 Qt の Signal-Slotメカニズムを使用して、フィールド内のテキストが変更されるたびに検証を実装することもできます。

私は QSetting についてまったく知らなかったので、まったく同じシグナルスロットメカニズムを使用して自動保存を行っていたでしょう。

于 2012-10-20T17:41:29.580 に答える