将 Qml/C++ 应用程序创建为插件

Posted

技术标签:

【中文标题】将 Qml/C++ 应用程序创建为插件【英文标题】:Create Qml/C++ application as a plugin 【发布时间】:2018-04-18 11:53:14 【问题描述】:

我想知道是否可以将应用程序创建为插件,以便在另一个 Gui 应用程序中使用它。类似于媒体播放器的东西,在数字仪表盘内(不是小部件)前面有 Qml,这样我们就可以在需要时加载/卸载它。 我知道共享对象和制作 C++ 插件的例程。但我需要 GUI/qml 应用程序作为插件。请告诉我是否可行以及需要的步骤?

谢谢

【问题讨论】:

plugin 我们也可以写插件,所以这意味着你把东西插在别的东西上对吗?所以基本上你的问题本身就是无意义的 插入什么?您当然可以拥有一个在加载时启动 GUI 或更改现有 GUI 的 DLL。 Plugins in Qt how-to 主要应用是数字仪表,里面会有4-5个应用(导航、播放器、电话等)。所以我希望在使用时加载整个媒体应用程序,并在不需要时卸载它。对不起我的英语不好。@Cubic @sandwood 【参考方案1】:

您可以将(几乎)整个应用程序创建为插件。 但是您有时需要一个可执行文件来加载您的插件。

但是将整个应用程序作为插件并不是最好的方法。仅对您将更改的应用程序部分使用插件,这样您只需更新动态加载的插件文件,其余部分保持静态。

现在您还需要自己做一些研究,阅读文档,了解如何制作和使用 Qt 插件...您的问题并不具体,答案也不是教程...

【讨论】:

主要应用是数字仪表盘,里面有 4-5 个应用,如媒体播放器、导航、电话等。例如,我们希望将整个媒体播放器作为插件,以便我们可以加载/卸载它无论何时使用。并且媒体播放器是用 Qml/C++ 设计的,所以它不仅仅是一个 c++ 共享对象。 我明白了...只是阅读插件文档它不是很复杂

以上是关于将 Qml/C++ 应用程序创建为插件的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 QML 应用程序的逻辑 DPI?

QML/C++中常用功能整理(持续更新中...)

QML/C++中常用功能整理(持续更新中...)

如何使 QML TextField 绑定在 Android 下工作?

将 grails 应用程序转换为插件

如何将我的jQuery插件应用于动态创建的元素