如何在 Qt 中显示 C 结构

Posted

技术标签:

【中文标题】如何在 Qt 中显示 C 结构【英文标题】:How to display C structure in Qt 【发布时间】:2013-04-24 02:54:37 【问题描述】:

在 Qt 调试模式下,我们可以观察和编辑任何变量。 我的问题:是否有任何现有的类可以做同样的事情,这意味着可以在表中显示 C 结构变量的所有成员并可以编辑成员的值?

【问题讨论】:

类是什么意思?? 【参考方案1】:

如果我猜对了你的意思,请回答“否”。在我看来,您正在寻找一种使用通用模型类在 QTableView 中显示任何 struct 变量/数组的能力。如果 C++ 有类似于 Java 反射的机制,那可以实现。

在您的情况下,解决方案之一是将结构更改为字段定义为 Q_PROPERTY 的类。然后你可以得到类似的行为。但这完全取决于您要实现的目标。

【讨论】:

感谢您的回复。其实我在做一个C/C++混合编程,结构来自C,是为了实现一个嵌入式系统的算法库。在 C++ 中,我只想显示和编辑用于算法调整的参数结构。所以将 C 结构重构为 C++ 类。 确定你能做到。我会实现一个 QAbstractItemModel (或任何你填写的适合你的子类)来处理你拥有的结构,并附加它 QTableView/QTreeView.. 谢谢,我会试试你的建议。

以上是关于如何在 Qt 中显示 C 结构的主要内容,如果未能解决你的问题,请参考以下文章

如何从 QByteArray 获取结构

如何在一个 qt qml 窗口中运行和显示 4 个可执行文件?

如何通过 Qt 在 Android 和桌面中使用相机

如何在 qt/c++ 中集成线程

如何在 Qt/C++/QML 中实现类似 WPF 的 MVVM?

在 C 程序中使用 Qt 库