我正在开发一个与数据库交互并构造报表的应用程序,我希望这个应用程序是可扩展的,将来我可以将自定义报表构建器作为插件集成到应用程序中。
对于Qt支持的插件体系结构,我有一些疑问:
另一个问题:是否有任何框架来开发基于服务的qt应用程序?
发布于 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类型可以通过该通信器将数据发回给它的原始进程。
https://stackoverflow.com/questions/44943750
复制相似问题