问题描述
我一直在尝试为我的模型编写一个 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 (将#修改为@)