既に C++ プログラムを作成しており、そのための GUI を作成したいと考えています。Qt が素晴らしいツールであることは理解していますが、Qt には独自のクラスがあり、かなり混乱しています。例: String の代わりに、Qt には QString という名前のクラスがあります。
C++ コードと Qt コードを C++ で混在させることができるかどうか疑問に思っていますか?
既に C++ プログラムを作成しており、そのための GUI を作成したいと考えています。Qt が素晴らしいツールであることは理解していますが、Qt には独自のクラスがあり、かなり混乱しています。例: String の代わりに、Qt には QString という名前のクラスがあります。
C++ コードと Qt コードを C++ で混在させることができるかどうか疑問に思っていますか?
std c++ コードと Qt コードを一緒に混在させることはお勧めしません。
たとえば、あなたの c++ コードはロジックであり、Qt コードは GUI 用である必要があります。MVC/MVP パターンなどを使用して、ロジックと UI を分離します。
したがって、UI を使用して/使用せずにコードを実行できるようになると、将来的にはより簡単になります。
うん!Qt は、C++ コードで使用できるものです。Qt は主に GUI 向けですが、Socket、Containers、Network などに適したクラスです。STL やその他の通常のクラス、または Qt が提供するクラスを自由に使用できます。最大のポイントは、メイン コンパイルの前にコードで Qt を使用する場合は、メタ コンパイルを実行して、コンパイラで使用できるようにする必要があるということです。注意すべきことの 1 つは、Qt は標準ではないということです。つまり、Windows、Linux、および Mac OS をサポートしていますが、他のプラットフォームでは使用できません。
それらは一緒に使用できます。
C++ には長い歴史があり、STL の実装とサポートは言語と共に進化してきました。元 Trolltech チームは、Qt ライブラリを STL 実装に依存させるには、STL 実装の品質と可用性を十分に制御できないと判断したと思います。その結果、Qt には独自の QTL、QtAlgorithms ヘッダー、および QString があります。
彼らは、STL と互換性を持つように注意を払いました。
個人的には、std::string より QString の方が使いやすくて強力です。
はい、できます。
私は実際に一連の C ベースの関数用に Qt-GUI-wrapper を作成しました。Qt 統合に問題はありません。低レベルの C (メモリ リークが発生します...) のみです。
ここを参照してください: http://code.google.com/p/qhocr/