qt/gtk+ のようなウィジェット ツールキットには、複数の言語バインディングがあります。C++ でアプリケーションを開発したいが、GUI に gtk+ C 言語バインディングを使用したいとします。アプリケーションのソース コードを 1 つの言語で記述し、別の言語バインディングを GUI に使用することはできますか? アイデアも干渉しますか?
2 に答える
Qtには多くの言語バインディングがあります。また、それらのブログエントリ:
http://www.ics.com/blog/using-qt-alternative-programming-languages-part-1
http://www.ics.com/blog/using-qt-alternative-programming-languages-part-2
また、Qt はUI 用のQML 言語を備えているため、Qt はその中核にある「2 つの言語」のフレームワークであると言えます。QML はスクリプト用に JavaScript を統合する宣言型言語であり、非常に簡単かつ迅速に開発できます。
Qt Creator (IDE) は、C、C++、JavaScript、QML、Python コードをネイティブにサポートしており、さらに多くの言語をサポートしている可能性があります。
GTK+ に関しては、私は実際にそれを使った制作経験はありませんが、言語バインディングも異なります。
C++ アプリは、GTK+ を含む任意の C ライブラリに直接リンクできます。しかし、 gtkmmが GTK+ への優れた C++ インターフェイスを提供しているのに、なぜ C++ で GTK+ C API を使用したいのでしょうか? gtkmm で C と C++ API を混在させることもできます。
適切な externs がある限り、C++ でコンパイルされたコードを C にリンクすることも可能ですが、QT には C バインディングがあるようには見えません。