Django附带了这个很棒的方法,你只需编写数据模型,Django就会根据你的模型属性生成正确的(最基本的)视图。
E.g:
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++
是否可以相同?我正在考虑编写一个应用程序设置类,我不想手工构建对话框窗口。如果我可以自动构建对话框,我更喜欢。我不关心各个输入字段的顺序和位置。我认为这应该是可能的,因为我无论如何都遵循模型视图控制器模式。
编辑如果答案可以包含示例代码或示例链接,我将不胜感激。
答案 0 :(得分:0)
在C ++中,没有允许您查询类成员的反射机制,因此不可能像在Python中那样轻松地实现您想要的。但是,您可以应用C ++序列化库使用的技术,例如Boost。从本质上讲,您需要向类添加一个等效的boost序列化serialize
方法,这将弥补检索类成员信息所需的反射工具的缺乏,这是一个boost序列化教程解释这个:http://www.boost.org/doc/libs/1_35_0/libs/serialization/doc/serialization.html。
另一个选项,也被一些C ++序列化系统使用,是解析C ++类源代码并生成执行序列化的C ++代码(在您的情况下也将生成GUI对话框)。