2012-11-05 87 views
0

我试图利用模型/视图体系结构来实现我的目标,但我不确定这是否是适合此任务的正确工具。Qt编辑自定义数据结构

我有一个我一直在使用的材质系统,我最近创建了一个使用Qt的编辑器,它使用QGraphicsView来显示相互连接以形成最终片段着色器代码的项目,我很难找到一种方法来显示这些自定义数据结构,而无需为每种类型的项目手动编写小部件。

这些自定义数据结构只是带有成员的类,我希望根据每个成员类型使用接口进行修改。例如,如果项目是一个“值”,在我的材料系统中代表单个变量,如纹理,我希望能够有2个可编辑区域,一个用于磁盘上纹理的路径,另一个用于名称变量。

什么是解释像这样的自定义结构和根据它们的类型创建窗口小部件,然后映射这些窗口小部件来编辑/显示它们的最佳方法。我找到的所有谷歌搜索引导我到模型/视图体系结构,但它看起来更像是SQL数据库和XML文件。

class Value 
{ 

std::string  m_strType, m_strName, m_strValue, m_strLocation;  
}; 
+0

你能提供一些关于自定义数据结构的更多细节吗? –

+0

这是一个非常简单的类,其中一些重命名的东西和getter/setter方法被删除,这包含了我的素材系统中GLSL纹理采样器所需的所有信息,Qt是否可以处理类似这样的事情,或者是视图系统主要处理事物或数据库的列表。 – user1294021

回答

1

这听起来像你正在寻找像Property Browser Framework之类的东西。简而言之,您将创建所有要编辑的成员properties,然后使用属性浏览器框架创建一个模型,然后您可以将视图附加到该模型。

+0

这看起来很棒,非常感谢 – user1294021