日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt 的QString类的使用

發布時間:2025/3/21 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt 的QString类的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Qt的QString類提供了很方便的對字符串操作的接口。

  • 使某個字符填滿字符串,也就是說字符串里的所有字符都有等長度的ch來代替。
  • QString::fill ( QChar ch, int size = -1 )

    例:

    QString str = "Berlin";str.fill('z');// str == "zzzzzz" str.fill('A', 2);// str == "AA"

    2,從字符串里查找相同的某個字符串str。

    int QString::indexOf ( const QString & str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const

    例如:

    QString x = "sticky question";QString y = "sti";x.indexOf(y); // returns 0x.indexOf(y, 1); // returns 10x.indexOf(y, 10); // returns 10x.indexOf(y, 11); // returns -1

    3指定位置插入字符串

    QString & QString::insert ( int position, const QString & str )

    例如:

    QString str = "Meal";str.insert(1, QString("ontr"));// str == "Montreal"

    3,判斷字符串是否為空。

    bool QString::isEmpty () const

    如:

    QString().isEmpty(); // returns trueQString("").isEmpty(); // returns trueQString("x").isEmpty(); // returns falseQString("abc").isEmpty(); // returns false

    4.判斷字符串是否存在。

    bool QString::isNull () const

    例如:

    QString().isNull(); // returns trueQString("").isNull(); // returns falseQString("abc").isNull(); // returns false

    5,從左向右截取字符串

    QString QString::left ( int n ) const

    例如:

    QString x = "Pineapple";QString y = x.left(4); // y == "Pine"

    6,從中間截取字符串。

    QString QString::mid ( int position, int n = -1 ) const

    例如:

    QString x = "Nine pineapples";QString y = x.mid(5, 4); // y == "pine"QString z = x.mid(5); // z == "pineapples"

    7,刪除字符串中間某個字符。

    QString & QString::remove ( int position, int n )

    例如:

    QString s = "Montreal";s.remove(1, 4);// s == "Meal"

    8,替換字符串中的某些字符。

    QString & QString::replace ( int position, int n, const QString & after )

    例如:

    QString x = "Say yes!";QString y = "no";x.replace(4, 3, y);// x == "Say no!"

    9,以某個字符切割字符串。(最近經常用到的)

    QString QString::section ( QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault ) const

    例如:

    QString str;QString csv = "forename,middlename,surname,phone";QString path = "/usr/local/bin/myapp"; // First field is emptyQString::SectionFlag flag = QString::SectionSkipEmpty;str = csv.section(',', 2, 2); // str == "surname"str = path.section('/', 3, 4); // str == "bin/myapp"str = path.section('/', 3, 3, flag); // str == "myapp"
    測試代碼: #include <QCoreApplication> #include <QDebug> class QString; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); /* QString str = "Berlin"; str.fill('z'); // str == "zzzzzz" QByteArray ba = str.toLatin1(); char *mm = ba.data(); qDebug()<<mm<<endl; str.fill('A', 2); // str == "AA" ba = str.toLatin1(); mm = ba.data(); qDebug()<<mm<<endl; qDebug()<<"endl"; */ /* QString x = "sticky question"; QString y = "sti"; qDebug()<<x.indexOf(y)<<endl; // returns 0 qDebug()<<x.indexOf(y, 1)<<endl; // returns 10 qDebug()<<x.indexOf(y, 10)<<endl; // returns 10 qDebug()<<x.indexOf(y, 11)<<endl; // returns -1 */ /* QString str = "Meal"; str.insert(1, QString("ontr")); // str == "Montreal" qDebug()<<str<<endl; */ /* qDebug()<<QString().isEmpty(); // returns true qDebug()<<QString("").isEmpty(); // returns true qDebug()<<QString("x").isEmpty(); // returns false qDebug()<<QString("abc").isEmpty(); // returns false */ /* qDebug()<<QString().isNull(); // returns true qDebug()<<QString("").isNull(); // returns false qDebug()<<QString("abc").isNull(); // returns false */ /* QString x = "Pineapple"; QString y = x.left(4); // y == "Pine" qDebug()<<x; qDebug()<<y; */ /* QString x = "Nine pineapples"; QString y = x.mid(5, 4); // y == "pine" QString z = x.mid(5); // z == "pineapples" qDebug()<<x; qDebug()<<y; qDebug()<<z; */ /* QString s = "Montreal"; s.remove(1, 4); // s == "Meal" qDebug()<<s; */ /* QString x = "Say yes!"; QString y = "no"; x.replace(4, 3, y); // x == "Say no!" qDebug()<<x; qDebug()<<y; */ QString str0; QString str1; QString str2; QString csv = "forename,middlename,surname,phone"; QString path = "/usr/local/bin/myapp"; // First field is empty QString::SectionFlag flag = QString::SectionSkipEmpty; str0 = csv.section(',', 2, 2); // str == "surname" str1 = path.section('/', 3, 4); // str == "bin/myapp" str2 = path.section('/', 3, 3, flag); // str == "myapp" qDebug()<<str0; qDebug()<<str1; qDebug()<<str2; return a.exec(); }

    10,把整型,浮點型,或其他類型轉化為QString

    QString & QString::setNum ( uint n, int base = 10 )

    相類似的還有好多重載函數,想深入了解,還是要看Qt幫助文檔的。

    總結

    以上是生活随笔為你收集整理的Qt 的QString类的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。