PyQt程序能否使用暴露自定义C++类型的DBus接口(通过Qt的MetaType系统进行调用)?如果是这样,怎么样?
问题描述:
我有一个Qt/C++应用程序,它通过DBus方法(by registering them as MetaTypes, and using annotations in the xml公开了一些定制的C++类,并且我希望我的PyQt程序使用这些方法。PyQt程序能否使用暴露自定义C++类型的DBus接口(通过Qt的MetaType系统进行调用)?如果是这样,怎么样?
我看到的问题是,暴露的类型是C++类,而不是Python,所以我怎么能让Python知道这些类?
使用Qt的Dbus系统注册自定义类的要点是我可以在dbus方法中使用它们,而Qt将在幕后处理序列化。我想在我的python客户端中实现相同的抽象。它不“只是工作”。 – Casey 2010-07-17 15:05:59
Python的DBus库确实可以处理所有的序列化。您不必事先声明任何内容或提前注册任何内容以在Python中使用C++ DBus接口。您不需要使用C++中的任何适配器或接口类。仔细阅读dbus-python教程,并尝试从Python中调用您的C++方法,就像他们在本教程中所做的一样。 – abbot 2010-07-17 18:21:58