首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Qt的可扩展应用程序

使用Qt的可扩展应用程序
EN

Stack Overflow用户
提问于 2017-07-06 08:36:28
回答 1查看 104关注 0票数 0

我正在开发一个与数据库交互并构造报表的应用程序,我希望这个应用程序是可扩展的,将来我可以将自定义报表构建器作为插件集成到应用程序中。

对于Qt支持的插件体系结构,我有一些疑问:

  • 我能在自己的进程中加载插件吗?
  • 如何从插件向主应用程序发送一些自定义的QML类型,并在其上挂上一些事件处理程序。

另一个问题:是否有任何框架来开发基于服务的qt应用程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-06 10:07:41

我能在自己的进程中加载插件吗?

没有插件机制(QPluginLoader)。插件机制动态加载库(可能有不同的线程)。但是,插件可以是一个正常的应用程序,由主应用程序通过QProcess启动,并通过stdin/stdout (或其他IPC机制)交换数据。

如何从插件向主应用程序发送一些自定义的QML类型,并在其上挂上一些事件处理程序。

如果您使用普通插件,只需添加返回创建的QML对象的方法即可。看看:https://doc.qt.io/qt-5/qtqml-cppintegration-interactqmlfromcpp.html#loading-qml-objects-from-c

如果您想使用多进程版本,它会变得稍微复杂一些。通过stdout传递QML代码,并在主应用程序中创建它。将一些“通信器”对象传递给这个创建的QML对象,以便QML类型可以通过该通信器将数据发回给它的原始进程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44943750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档