0

Djangoにはこの優れたアプローチが付属しており、データモデルを作成するだけで、モデルのプロパティに従って正しい(最も基本的な)ビューが生成されます。

例えば:

class Article(models.Model):
    pub_date = models.DateTimeField()
    headline = models.CharField(max_length=200)
    content = models.TextField()
    reporter = models.ForeignKey(Reporter)

    def __unicode__(self):
        return self.headline

Djangoによって表示されるフォームはすべて、プロパティタイプ(DateTimeField、CharField、TextFieldなど)に一致する正確で適切なフィールドタイプをすでに使用しています。

同じことが可能C++かどうか疑問に思いましたか?アプリケーション設定クラスを作成することを考えていますが、ダイアログウィンドウを手動で作成したくありません。ダイアログを自動的に作成できればと思います。個々の入力フィールドの順序と位置は気にしません。とにかくModelViewControllerのパターンに従っていることを考えると、これは可能であると思います。

編集回答にサンプルコードまたはサンプルへのリンクを含めることができれば幸いです。

4

1 に答える 1

0

C ++には、クラスのメンバーにクエリを実行できるリフレクションメカニズムがないため、Pythonのように簡単に目的を達成することはできません。ただし、BoostなどのC++シリアル化ライブラリで使用される手法を適用できます。基本的に、ブーストシリアル化メソッドと同等のメソッドをクラスに追加する必要があります。これにより、serializeクラスのメンバーに関する情報を取得するために必要なリフレクション機能の不足が補われます。これを説明するブーストシリアル化チュートリアルは次のとおりです。http:// www.boost.org/doc/libs/1_35_0/libs/serialization/doc/serialization.html

一部のC++シリアル化システムでも使用される別のオプションは、C ++クラスのソースコードを解析し、シリアル化を行うC ++コードを生成することです(この場合、GUIダイアログも生成します)。

于 2012-12-18T12:53:47.150 に答える