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の文字列クラス
  • Unicode符号化技術
  • を採用する.
  • メモリおよび不要なデータコピーを節約するために暗黙的共有技術を使用する
  • .
  • はプラットフォーム間で使用され、文字列のプラットフォーム互換性
  • を考慮する必要はありません.Unicodeコード:中国語、日本語、韓国語、英語などのASCIIコードをサポートする:英語とその他の西欧言語のみをサポートする
    4. QString
  • QStringは文字列と数字の相互変換を直接サポートする
  • QString直接サポート文字列のサイズ比較
  • QStringは、異なる文字符号化間の相互変換
  • を直接サポートする.
  • QStringは、std::stringstr::wstringの相互変換
  • を直接サポートする.
  • QStringが正規表現を直接サポートするアプリケーション
  • QStringはQtライブラリにほとんど存在し,すべてのQtグラフィックユーザコンポーネントがQStringに依存する.
    プログラミングの説明:計算機インスタンスにメッセージ応答を追加する
    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.まとめ
  • アプリケーション開発の多くは文字列処理
  • を行う.
  • Qtは、STLよりもプラットフォーム間で開発するシーン
  • に適している.
  • QtのQStringはSTLのstringよりも強力で使いやすい
  • QtグラフィックユーザコンポーネントはいずれもQString
  • に依存する.
  • プロジェクト開発時に必要な各種選択に必要なライブラリ