我正在尝试利用模型/视图架构来实现我的目标,但我不确定这是否是用于此任务的合适工具。
我有一个我一直在使用的材质系统,我最近创建了一个使用 Qt 的编辑器,它使用 aQGraphicsView
来显示相互连接以形成最终片段着色器代码的项目,这非常好用,但是我很难找到一种显示这些自定义数据结构的方法,无需为每种类型的项目手动编码小部件。
这些自定义数据结构只是具有成员的类,我希望根据每个成员类型使用接口进行修改。例如,如果项目是Value
在我的材质系统中表示单个变量(如纹理)的项目,我希望能够有 2 个可编辑区域,一个用于磁盘上纹理的路径,一个用于变量名称。
解释这样的自定义结构并根据它们的类型创建小部件,然后映射这些小部件以编辑/显示它们的最佳方法是什么。我发现的所有谷歌搜索都将我引向了该Model/View
架构,但似乎这更适用于 SQL 数据库和 XML 文件之类的东西。
class Value
{
std::string m_strType, m_strName, m_strValue, m_strLocation;
};