我以前从未使用过 QML,也不知道以下是否可行。
我目前正在使用现有代码和大量 UI 文件将 C++ Qt 应用程序移植到 Qt 5.5。此应用程序稍后会在运行时加载大量 C++ 插件 dll。现在每个插件都应该有自己的配置对话框;尽管这些插件目前都没有 Qt 依赖项。
我目前正在考虑使用以下方式扩展接口:
class CPlugin {
public:
virtual std::string const& getQmlDescription() const;
virtual std::string const& getQmlFilePath() const;
};
因此,每个插件都可以返回一组关于它希望其配置对话框看起来如何的 QML 数据。
当这个插件应该由用户配置时,这个应用程序显示一个空QDialog
并询问插件“给我你的 qml 配置数据”;然后在 empty 中渲染和执行QDialog
。
这个 QML 数据是否可以在运行时解释并呈现为空的字符串缓冲区或 QML 数据的文件路径QDialog
?
底线:
- QML 可以在运行时这样处理吗?
- 我可以
Dialog
在传统QDialog
窗口中嵌入 QML 描述还是这两种类型不混合? - 这甚至是一个好主意还是我应该做很多不同的事情?:)