在qt和数据映射中创建树模型

问题描述

| 我在树模型示例中浏览了qt文档。我正在努力将数据结构映射到模型。 我有一个mystructs数组,我想在树中显示它,有人可以提供任何有关如何执行此操作的帮助。结构如下图所示
struct mystruct{
    int id;
    float val;
    struct settings{
            QString setting_1;
            QString setting_2;
            bool on;
    };
};
我正在尝试将此结构适合qt simpletreemodel示例。 谢谢     

解决方法

        您可以这样做: 将树实现为
QTreeWidget
class YourTreeWidget : public QTreeWidget
{
public:
    ...
    //reimplement useful stuff of the QTreeWidget 
    //like onItemClicked(...)
};
然后实现绑定到“ 3”实例的项目
class mystruct;
class YourTreeWidgetItem : public QTreeWidgetItem
{
public:
    YourTreeWidgetItem(mystruct*);
    mystruct* getData() { return data;}
private:
    mystruct* data;
}
稍后创建一个
YourTreeWidget
,并为数组中的每个
mystruct
实例添加一项。 不要忘记根据您放入商品中的数据正确设置ѭ1的格式。
setHeaderLabels( QStringList() << \"Column 1\" << \"Column 2\");
...
同样,这是一个简单的解决方案,但是我认为您可以用它来完成复杂的工作。 注意:当我说   您是否需要与struct进行很多交互 我的意思是您需要自定义选择,自定义版本,自定义显示...