如何解决QAbstractItemModel 中的复杂数据
我一直在尝试为我的模型编写一个 GUI,它与任何 GUI 框架都完全无关。框架我必须使用QT,但我没有任何经验。
Items
[
"First group":
[
{
"name": "foo","age": 31
"array":
[
1,2,3
]
},{
"name": "second foo",]
]
在我的 C++ 代码中,它看起来像这样:
struct Entry
{
std::string name;
int age;
std::array<int,3> array;
};
struct Group
{
std::vector<Entry> entries;
};
std::unordered_map<std::string,Group> items;
我将如何实现?我拥有的所有三个结构都是可观察的,因此 qabstractitemmodel
可以在结构中的任何数据发生更改时收到通知。
我需要能够更改每个 Entry
的数据以及添加新的 Entries
和 Groups
。
主要有两个问题我不知道怎么解决:
-
)
QVariant qabstractitemmodel::data
返回一个 QVariant。但是,我的结构“Entry”不适合 QVariant 中指定的任何类型。正如我所说,我的模型必须完全独立于 QT。 -
) 我将如何显示数据?我是否必须编写自定义小部件?我在网上找到的所有示例都使用
list
、table
或Treemap
。我猜Treemap
会适合我的结构...?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。