【发布时间】:2015-10-23 02:13:27
【问题描述】:
我以前从未使用过 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 配置数据”;然后在空的QDialog 中渲染和执行。
这个 QML 数据是否可以在运行时以字符串缓冲区或 QML 数据的文件路径形式解释并呈现为空的QDialog?
底线:
- QML 在运行时可以这样处理吗?
- 我可以在传统的
QDialog窗口中嵌入 QMLDialog描述,还是这两种类型不能混合使用? - 这是远程一个好主意还是我应该做很多不同的事情? :)
【问题讨论】: