我有一個加載外部插件的C++應用程序,感謝QPluginloader
。
QPluginLoader
提供對Qt插件的訪問。 Qt插件存儲在共享庫(DLL)中。帶有PyQt模塊的QPluginLoader作爲插件:可能嗎?
插件必須繼承純虛擬類(和Q_DECLARE_INTERFACE
)和QObject
。
我想通過使用python和PyQt
來創建插件。
這可能沒有太多的工作?
舉例來說,如果我有這些模塊的C++轉換與boost::python
,這可能是廢話,因爲PyQt
已經從C++到Python的轉換...
謝謝!
編輯:
我已經調查關於PyQt的插件的文檔:
http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/pyqt4ref.html#writing-qt-designer-plugins
PyQT
對Qt Designer的插件特定的類QPyDesignerCustomWidgetPlugin
。
但是這個類在QtDesigner.pyd
模塊中,所以我看不到代碼以便複製相同的體系結構。
EDIT2:
http://www.boddie.org.uk/david/Projects/Python/Qt/
文件PyQt4的包埋-例子-2008-02-13.tar.gz
包含代碼示例集成++ PyQt的窗口小部件中℃。但是你不使用QPluginLoader,而必須將Python解釋器頭文件集成到你的C++主代碼中。
再次感謝
確實,我看到pythonplugin.dll PyQt4 \ plugins \ designer意味着有一種方法可以將Python代碼作爲設計器插件進行集成。但我不知道。謝謝 – Thorfin 2010-04-28 13:54:47
'pythonplugin.dll'是PyQt4的一部分,而不是Qt4。事實上,它允許您在Qt Designer中使用基於Python的插件,但它也會回調Python以解釋這些模塊。如果你將'pythonplugin.dll'加載到Dependency Walker(請參閱http://www.dependencywalker.com/),你會發現它依賴於Python。 – 2010-04-28 14:02:53