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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Qt文档阅读笔记-QLatin1String解析及文本段跨行赋值

發(fā)布時間:2025/3/15 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt文档阅读笔记-QLatin1String解析及文本段跨行赋值 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

QString的許多成員函數(shù)都被重載了,用于接收const char *。包括拷貝構(gòu)造函數(shù)、分配符、操作符

insert()、replace()、indexOf()。上述的函數(shù)都被優(yōu)化避免const char *傳入后調(diào)用拷貝構(gòu)造函數(shù)。

如下例子,假如str為QString。

if (str == "auto" || str == "extern"|| str == "static" || str == "register") {...}

會比下面這種操作更加的快:

if (str == QString("auto") || str == QString("extern")|| str == QString("static") || str == QString("register")) {...}

下面這種方式調(diào)用了4次QString的構(gòu)造函數(shù),會深拷貝里面的數(shù)據(jù)內(nèi)容。

如果項目中定義了QT_NO_CAST_FROM_ASCII,就不能直接調(diào)用QString的const char *這個API。

在.pro文件中定義

DEFINES += QT_NO_CAST_FROM_ASCII

Qt提供了QLatin1String類,這個是對const char *的簡單封裝,使用QLatin1String的代碼如下:

if (str == QLatin1String("auto")|| str == QLatin1String("extern")|| str == QLatin1String("static")|| str == QLatin1String("register") {...}

這種相似效率和

if (str == "auto" || str == "extern"|| str == "static" || str == "register") {...}

這種的一致。

QString(QLatin1String)的這個構(gòu)造函數(shù),使得開發(fā)越來越方便

QLabel *label = new QLabel(QLatin1String("MOD"), this);

下面是關(guān)于文本段跨行的賦值

有三種方式:

①每一行用引號引起了,在換行的地方加\斜線;

②每一行用引號引起了;

③R"()"包裹。

代碼如下:

#include <QCoreApplication> #include <QDebug>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);const auto cmd1 = QLatin1String("Hello World""Hello World""Hello World""Hello World");const auto cmd2 = QLatin1String(R"(Hello WorldHello WorldHello WorldHello World)");const auto cmd3 = QLatin1String("Hello World"\"Hello World"\"Hello World"\"Hello World");const auto cmd4 = QString("Hello World\r\n"\"Hello World\r\n"\"Hello World\r\n"\"Hello World\r\n");qDebug() << "cmd1:" << cmd1;qDebug() << "cmd2:" << cmd2;qDebug() << "cmd3:" << cmd3;qDebug() << "cmd4:" << cmd4;return a.exec(); }

程序運行截圖如下:

?

總結(jié)

以上是生活随笔為你收集整理的Qt文档阅读笔记-QLatin1String解析及文本段跨行赋值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。