11_Qtの文字列クラス
2161 ワード
声明:この文章は私がディテQT実験分析課程を勉強したノートだけで、文章の中にディテソフトウェアの資料の内容が含まれていて、すべての著作権はディテソフトウェアの所有に帰属します!実験環境:ubuntu 10+Qt Creator 2.4.1 + Qt SDK 4.7.4
1.標準ライブラリSTL STLは、C++とともに公開する必要がある標準ライブラリ である. STLはテンプレート技術で完成したC++クラスライブラリ である. STLには、一般的なアルゴリズムおよびデータ構造 が含まれる. STLには文字列クラス が含まれている. STLの具体的な実装は、コンパイラメーカー に依存する. STLの標準は、そのインタフェースが標準の同じグローバル関数である同じアルゴリズムクラスとデータ構造クラスの同じクラスメンバー関数 であるだけである.異なるメーカーのコンパイラが持つSTLには の差がある.
note:STLに依存して開発されたC++プログラムの異なるプラットフォームでの動作に違いが生じる可能性があります!!!
2.開発前の選択プロジェクトは既存のライブラリのサポート:STLを使用する必要がありますか?Qt?MFC?プライベートライブラリ? プロジェクトは異なるプラットフォーム間で移植する必要がありますか:Linux?Windows?Android? プロジェクトにグラフィックユーザーインタフェース:GUIアプリケーションが必要ですか?コマンドラインアプリケーション?バックグラウンドサービスプログラム?
3.Qtの文字列クラス を採用する.メモリおよび不要なデータコピーを節約するために暗黙的共有技術を使用する .はプラットフォーム間で使用され、文字列のプラットフォーム互換性 を考慮する必要はありません.
4. QString QStringは文字列と数字の相互変換を直接サポートする QString直接サポート文字列のサイズ比較 QStringは、異なる文字符号化間の相互変換 を直接サポートする. QStringは、 を直接サポートする. QStringが正規表現を直接サポートするアプリケーション QStringはQtライブラリにほとんど存在し,すべてのQtグラフィックユーザコンポーネントがQStringに依存する.
プログラミングの説明:計算機インスタンスにメッセージ応答を追加する
5.まとめアプリケーション開発の多くは文字列処理 を行う. Qtは、STLよりもプラットフォーム間で開発するシーン に適している. QtのQStringはSTLのstringよりも強力で使いやすい QtグラフィックユーザコンポーネントはいずれもQString に依存する.プロジェクト開発時に必要な各種選択に必要なライブラリ
1.標準ライブラリSTL
note:STLに依存して開発されたC++プログラムの異なるプラットフォームでの動作に違いが生じる可能性があります!!!
2.開発前の選択
3.Qtの文字列クラス
Unicode
符号化技術Unicode
コード:中国語、日本語、韓国語、英語などのASCII
コードをサポートする:英語とその他の西欧言語のみをサポートする4. QString
std::string
とstr::wstring
の相互変換プログラミングの説明:計算機インスタンスにメッセージ応答を追加する
oid QCalculatorUI::onButtonClicked() //
{
QPushButton* btn = (QPushButton*)sender(); //
QString clickText = btn->text();
if( clickText == "text();
if( text.length() > 0 )
{
text.remove(text.length()-1, 1);
m_edit->setText(text);
}
}
else if( clickText == "C" )
{
m_edit->setText("");
}
else if( clickText == "=")
{
}
else
{
m_edit->setText(m_edit->text() + clickText);
}
}
5.まとめ