GObject Introspection bindings generator for Qt Projects

Smoke-GObject从GObject Introspection类型库文件生成QMetaObject层次结构,使GObject库的功能可作为槽调用,并将GObject信号转发给Qt信号。转换支持动态运行时如QtScript或QML使用,无需代码生成,也可生成C++类供C++项目编译使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Smoke-GObject generates a heirachy of QMetaObjects from GObject Introspection typelib files. This allows the functions in GObject based libraries to be invoked as slots, and for GObject signals to be forwarded to Qt signals. The GObject based types being converted to and from their Qt equivalents. The bindings can be used either by dynamic runtimes such as QtScript or QML with no code generation necessary, or they can include generated C++ classes to be compiled against for C++ projects.

The project was described in these three blogs:

http://www.kdedevelopers.org/node/3878

http://www.kdedevelopers.org/node/3894

http://www.kdedevelopers.org/node/3899

http://blogs.kde.org/node/4453

It was checked into the KDE playground SVN module, but nothing has been done for the last two years.

At the UDS in Budapest, we had discussions about using the bindings to create a wrapper for a common library that will be used by both Unity-3D and Unity-2D. The library will be written using Gnome GObjects for Unity-3D, but will need to be used from Qt C++ and QML code in Unity-2D.

Currently the marshalling and function invocation code is being written. The 'Everything' library from the GObject Introspection project is being used to test the marshalling via a QtTest program to invoke all the code in this 'Everything' library.

Once the marshalling code is reasonably complete, the next stage will be to implement getting and setting Q_PROPERTYs corresponding to GObject properties, and to unite GObject signals with Qt signals.

After that an option will be added to generate C++ code for the QObject classes.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值