
UNCTION QStringList::filter(const QString &str) const 該方法返回一個(gè)包含原始列表中所有以指定前綴開頭的字符串的新列表。匹配是區(qū)分大小寫的。示例: QStringList list; list << "Windows" << "window" << "Window"; QStringList filtered = list.filter("Window"); // filtered 包含 "Windows" 和 "Window" // "window" 不包含在結(jié)果中,因?yàn)槠ヅ涫菂^(qū)分大小寫的。
QStringList::filter(const QString &str, Qt::CaseSensitivity cs)
該方法返回一個(gè)包含原始列表中所有以指定前綴開頭的字符串的新列表。cs 參數(shù)指定匹配是區(qū)分大小寫還是不區(qū)分大小寫。示例: QStringList list; list << "Windows" << "window" << "Window"; QStringList filtered = list.filter("Window", Qt::CaseInsensitive); // filtered 包含 "Windows"、"window" 和 "Window"
QString::fromAscii(const char *str) 這個(gè)方法將 null 終止的 ASCII 字符串轉(zhuǎn)換為 QString。所有字符都被假定為 8-bit ASCII 值。示例: const char *c = "Hello, World!"; QString qstr = QString::fromAscii(c);
QString::fromLatin1(const char *str)
該方法將 null 終止的 Latin-1 字符串轉(zhuǎn)換為 QString。與 fromAscii 不同,它假設(shè)輸入是 ISO 8859-1(Latin-1)編碼。示例: const char *c = "über"; QString qstr = QString::fromLatin1(c); // 正確處理重音符
QString::fromUtf8(const char *str) 該方法將 null 終止的 UTF-8 字符串轉(zhuǎn)換為 QString。示例: const char *c = u8"Hello, 世界!"; // 包含 Unicode 字符 QString qstr = QString::fromUtf8(c);
QString::fromUtf8(const char *str, int len)
此方法將給定長度為 len 的 UTF-8 字符串轉(zhuǎn)換為 QString。此方法確保準(zhǔn)確轉(zhuǎn)換,因?yàn)殚L度已知。示例: const char *c = u8"юникод"; int len = strlen(c); QString qstr = QString::fromUtf8(c, len); // 確保正確處理可能的 multi-byte 字符
QString::number(int n, int base) 該方法將整數(shù) n 轉(zhuǎn)換為 QString,使用指定的底數(shù)(base)表示法。支持的底數(shù)從 2 到 36。忽略符號(hào);如果 n 為負(fù)數(shù),返回的字符串將不含負(fù)號(hào)。示例: int num = 255; QString hex = QString::number(num, 16); // "ff" QString bin = QString::number(num, 2); // "11111111"
QString::number(uint n, int base)
這與上面的方法類似,但 n 是無符號(hào)整數(shù)。示例: uint num = 255; QString hex = QString::number(num, 16); // "ff"
QString::operator+=(const QString &s) 該方法將字符串 s 追加到當(dāng)前 QString 的末尾。示例: QString str = "Hello"; str += " World!"; // str 現(xiàn)在是 "Hello World!"
QString::operator+=(const QLatin1String &s)
將 QLatin1String 類型的字符串追加到當(dāng)前 QString。這在處理來自 C 庫或需要高效處理的情況時(shí)很有用。
QString::operator+=(const char *s) 將 null 終止的 C 字符串追加到當(dāng)前 QString。示例: char *c = "Appending"; str += c; // str 現(xiàn)在包含附加的內(nèi)容
QString::operator<<(QDebug debug)
將 QString 對象插入到 QDebug 對象中。這對于調(diào)試輸出非常有用,因?yàn)樗鼤?huì)格式化和打印字符串的內(nèi)容。示例: QString str = "Debug Info"; qDebug() << str; // 輸出 "Debug Info"
QString::operator[](int i)
返回位置 i 處的字符。如果 i 不在有效索引范圍內(nèi),返回 null 字符(QChar(0))。可以用于只讀訪問。示例: QString str = "Hello"; QChar c = str[0]; // c 是 'H'
QString::operator[](int i) const 與上面相同,但用于 const 對象。確保在只讀訪問中使用這個(gè)操作符。
QString::replace(int pos, int len, const QString &after) 用 after 字符串替換從 pos 開始的 len 個(gè)字符。pos 以字符為單位計(jì)數(shù),不一定是字節(jié)。示例: QString str = "Hello, World!"; str.replace(7, 5, "Qt"); // str 變?yōu)?"Hello, Qt!"
QString::replace(char before, char after)
將字符串中的所有 before 字符替換為 after。示例: QString str = "Hello, World!"; str.replace('l', 'x'); // str 變?yōu)?"Hexxo, Worxd!"
QString::replace(const QString &before, const QString &after, Qt::CaseSensitivity cs) 查找 all occurrences 和替換。cs 指定是否區(qū)分大小寫。示例: QString str = "Hello, World!"; str.replace("World", "Qt"); // str 變?yōu)?"Hello, Qt!" str.replace("e", "E", Qt::CaseInsensitive); // 替換所有 'E's 和 'e's
QString::resize(int size)
調(diào)整字符串的大小。如果 size 大于當(dāng)前長度,附加 null 字符(QChar::Null)。如果 size 小于當(dāng)前長度,截?cái)嘧址J纠? QString str = "Hello"; str.resize(10); // 現(xiàn)在是 "Hello" 后跟5個(gè) QChar::Null str.resize(3); // 現(xiàn)在是 "Hel"
QString::split(const QString &separator, SplitBehavior behavior) 將字符串按 separator 分隔,返回子字符串列表。behavior 可以是 SplitBehavior ? ? ?????. ??: QString str = "a,b,c"; QStringList list = str.split(','); // list contains "a", "b", "c"
QString::split(QRegularExpression