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

时间:2011-05-27 15:31:06

标签: c++ qt model tree

我在树模型示例中查看了qt文档。我正在努力将我的数据结构映射到模型。

我想要在树中显示一系列神秘元素,有人可以提供有关如何执行此操作的任何帮助。结构如下所示

struct mystruct{
    int id;
    float val;
    struct settings{
            QString setting_1;
            QString setting_2;
            bool on;
    };
};

我正在尝试将此结构放入qt simpletreemodel示例中。

由于

1 个答案:

答案 0 :(得分:0)

你可以这样做:

将树实施为QTreeWidget

class YourTreeWidget : public QTreeWidget
{
public:
    ...
    //reimplement useful stuff of the QTreeWidget 
    //like onItemClicked(...)
};

然后实现绑定到mystruct实例

的项目
class mystruct;
class YourTreeWidgetItem : public QTreeWidgetItem
{
public:
    YourTreeWidgetItem(mystruct*);
    mystruct* getData() { return data;}
private:
    mystruct* data;
}

稍后创建一个YourTreeWidget,并为您的数组中的每个mystruct实例添加一个项目。 不要忘记根据您在项目中添加的数据正确格式化QTreeWidget

setHeaderLabels( QStringList() << "Column 1" << "Column 2");
...

这又是一个简单的解决方案,但我认为你可以用它来做复杂的事情。

注意:当我说

  

您是否需要与

进行很多的互动

我的意思是你需要自定义选择,自定义版本,自定义显示...