2011-08-30 108 views
1

我目前正在開發一個使用Qt C++的項目,並且使用SIP將API暴露給Python。爲了讓這個程序在Windows環境下更具吸引力,我想將API公開給.NET。爲.NET生成Qt綁定

我發現qt4dotnet雖然只是Qt綁定,我需要一些東西來生成我的API的綁定。我聽說SWIG「可能」能夠爲Qt應用程序生成綁定,儘管我似乎無法在此找到任何幫助。

任何人都知道的東西可以幫助嗎?

回答

0

這可能是值得調查ActiveQt,並閱讀諾基亞this文件詳細集成ActiveQt與.NET框架。

還有一個StackOverflow post,它討論了使用微軟的C++/CLI擴展包裝Qt信號和插槽(或通用方法)。

雖然我不是.NET開發者,所以我可能無法提供任何幫助。

0

在kdebindings模塊中,根據我們的SMOKE庫(我們所有綁定共享的庫,用於調用C++ API,僅依賴於STL),我們有稱爲Qyoto的合適的Qt bindings

不幸的是,由於缺乏來自* nix用戶的興趣,該項目至今仍未得到維護。

但是,擴展基於SMOKE的綁定非常容易。你只需要從你自己的頭文件中生成一個新的SMOKE庫,一個匹配的.NET程序集並且寫一個Qyoto插件。 生成SMOKE庫是用smokegen完成的,我寫了一個tool,它可以從SMOKE庫生成.NET程序集(但它尚未合併)。我想這將需要一些努力,使綁定更新,並實際上使他們在Windows上工作,但我認爲這是你有最好的選擇(如果你不想手工工藝綁定)。我們已經支持所有QMetaObject的東西(包括自定義Signals,Slots,Q_PROPERTIES,Q_CLASSINFO等等),並且擴展綁定非常簡單。

關於Windows,我曾經有過一個Hello World的工作,但似乎它不再工作。

如果您想參與進來,可以通過[email protected]或Freenode的#kde-bindings與我們聯繫。

P.S .:我會發布更多的鏈接,但垃圾郵件保護不會讓我。您可以在projects.kde.org/smokeqt,projects.kde.org/smokegen和techbase.kde.org上找到關於SMOKE的更多信息。

+0

謝謝。我會在未來的某個時間看看。 –