私はすでにC++プログラムを作成しており、そのためのGUIを作成したいと考えています。私はQtがすばらしいツールであることを認識していますが、Qtには自分のクラスがあり、私はかなり混乱してしまいます。例:Stringの代わりにQStringにQStringという名前のクラスがあります。既存のC++プロジェクトのQt UI
C++コードとQtコードをC++で混在させることができますか?
私はすでにC++プログラムを作成しており、そのためのGUIを作成したいと考えています。私はQtがすばらしいツールであることを認識していますが、Qtには自分のクラスがあり、私はかなり混乱してしまいます。例:Stringの代わりにQStringにQStringという名前のクラスがあります。既存のC++プロジェクトのQt UI
C++コードとQtコードをC++で混在させることができますか?
はい、QtとSTLを非常に簡単に混在させることができます。
GUIはQString
秒を要するが、静かに、これらのフォームstd::string
又はchar*
が作成され、Qtのから返さQStrings
はtoStdString()
又はtoAscii()
で変換することができます。
Qtにはコレクションクラスが含まれていますが、それらを使用する必要はありません。
Qtは現代的なC++のように見えますが、シグナルやスロットイベントのメカニズムを扱うためのいくつかの「エクストラ」がありますが、これらはコードよりもビルド環境にとって複雑です。
編集:ありがとうございました
はい、できます!例えば、QStringは本質的に文字列であり、toAscii()メソッドを持っているので、あなたのプロジェクトに簡単にQtを使うことができます。あなたは、Visual StudioにはQtを統合するいくつかの問題に実行するかもしれませんが(あなたがそれを使用していると仮定すると)、あなたは、C++コードとQtコード(Cである++)
ええを混在させることができるようになります! QtはC++コードで使用できるものです。 Qtは主にGUI用ですが、ソケット、コンテナ、ネットワークなどのクラスに適しています。 STLや他の通常のクラスやQtが提供するクラスは自由に使用できます。 最大のポイントは、メインコンパイルの前にコードでQtを使用すると、メタコンパイルを実行してコンパイラを準備できることです。 Windows、Linux、Mac OSをサポートしていますが、Qtは標準ではありません。他のプラットフォームでは使用できません。
これらは一緒に使用できます。
C++には長い歴史があり、STLの実装とサポートは言語とともに進化しました。私は、Trolltech社の前のチームは、Qtライブラリをそれに依存させるためにSTL実装の品質と可用性を十分にコントロールできないと判断しました。その結果、Qtには独自のQTL、QtAlgorithmsヘッダーとQStringがあります。
は、彼らはSTLと互換性を持たせるための世話をしています
私はQStringがstd :: stringよりも好きです。使いやすく、より強力です。
はいできます。
私は実際にCベースの関数のセットのためのQt-GUIラッパーを作った。 Qtの統合に問題はなく、低レベルのC(メモリをリークします...)だけです。
はこちらをご覧ください:http://code.google.com/p/qhocr/
が、私は文句を言わない一緒のSTD C++コードとQtコードを混合をお勧めします。
言い換えれば、あなたのC++コードはロジックであり、QtコードはGUI用であるはずです。 MVC/MVPパターンを使用するか同様に、ロジックとUIを分離します。
このように、将来はUIを使用する/使用しないでコードを実行する方が簡単になります。
JFYIはQTではなくQTで書かれています。ありがとう。 –
ありがとう。私はちょうどそれを元に戻しました〜 – Lily