国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt文件系統(tǒng)源碼分析—第七篇QFileSelector

這篇具有很好參考價值的文章主要介紹了Qt文件系統(tǒng)源碼分析—第七篇QFileSelector。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

深度

本文主要分析Windows平臺,Mac、Linux暫不涉及

本文只分析到Win32 API/Windows Com組件/STL庫函數(shù)層次,再下層代碼不做探究

本文QT版本5.15.2

類關(guān)系圖

Qt文件系統(tǒng)源碼分析—第七篇QFileSelector

QTemporaryFile繼承QFile

QFile、QSaveFile繼承QFileDevice

QFileDevice繼承QIODevice

QIODevice、QFileSystemWatcher繼承QObject

QLockFile、QFileInfo、QDir、QFileSelector無任何繼承關(guān)系

QObject中有一指向QObjectData指針d_ptr。d_ptr是保護成員變量,這意味著每個子類可以修改d_ptr內(nèi)容。在QObject中d_ptr指向QObjectPrivate,

QIODevice中d_ptr指向QIODevicePrivate

QFileDevice中d_ptr指向QFileDevicePrivate

QFile中d_ptr指向QFilePrivate

QTemporaryFile中d_ptr指向QTemporaryFilePrivate

QFileInfo、QDir、QLockFile不繼承QObject,因此沒有指向QObjectData指針d_ptr。但是各自同樣聲明了d_ptr變量指向各自的private類

QFileInfo中d_ptr指向QFileInfoPrivate

QDir中d_ptr指向QDirPrivate

QLockFile中d_ptr指向QLockFilePrivate

啟發(fā):

這種Private類書寫方式適合場景是導(dǎo)出接口穩(wěn)定、不想公開內(nèi)部實現(xiàn)細節(jié)、內(nèi)部能夠靈活修改

可以用在付費插件、軟件逆向等使用場景

QFileSelector

作用

實現(xiàn)在不同環(huán)境下自動選擇不同配置文件。

使用示例

#include <QFileSelector>

#include <QFile>

int main(int argc, char* argv[])

{

QFileSelector tmp;

QString filePath = tmp.select("D:/hx1.txt");

QFile file(filePath);

if (file.open(QIODevice::ReadOnly))

{

auto arrData = file.readAll();

}

return 0;

}

主要函數(shù)調(diào)用流程及原理

QFileSelector::select

Qt文件系統(tǒng)源碼分析—第七篇QFileSelector

寫到最后

目前先寫到這,諸位無論是有什么意見或建議都可以寫到評論區(qū),下來一起探討

?文章來源地址http://www.zghlxwxcb.cn/news/detail-467383.html

到了這里,關(guān)于Qt文件系統(tǒng)源碼分析—第七篇QFileSelector的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Vue基礎(chǔ)第七篇

    Vue基礎(chǔ)第七篇

    在Vue中實現(xiàn)集中式狀態(tài)(數(shù)據(jù))管理的一個Vue插件,對vue應(yīng)用中多個組件的共享狀態(tài)進行集中式的管理(讀/寫),也是一種組件間通信的方式,且適用于任意組件間通信。 多個組件需要共享數(shù)據(jù)時 ?3.搭建vuex環(huán)境 創(chuàng)建文件: src/store/index.js 在 main.js 中創(chuàng)建vm時傳入 store 配置

    2024年02月08日
    瀏覽(22)
  • OpenCV第七篇:車牌識別

    OpenCV第七篇:車牌識別

    目錄 1.調(diào)整圖片大小,并獲取灰度圖 ?2.雙邊濾波去除噪音:cv2.bilateralFilter()。 3.邊緣檢測:cv2.Canny(image,threshold1,threshold2) 4.尋找輪廓:車牌(四邊形) ?編輯?5.圖像位運算進行遮罩 6.圖像剪裁 7.字符識別:OCR 1.調(diào)整圖片大小,并獲取灰度圖 ?2.雙邊濾波去除噪音:cv

    2024年02月06日
    瀏覽(25)
  • 網(wǎng)絡(luò)基礎(chǔ)(第七篇)靜態(tài)路由配置

    網(wǎng)絡(luò)基礎(chǔ)(第七篇)靜態(tài)路由配置

    三臺PC機、三臺路由器 配置靜態(tài)路由: 第一步,Ensp上寫好PC機的IP地址和子網(wǎng)掩碼、每一個接口的網(wǎng)關(guān)和網(wǎng)段,如圖(綠色): ?第二步,配置三臺PC機的IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)。 ? ? ?第三步,配置所有接口的網(wǎng)關(guān): 第四步,完成所有接口配置后,開始配靜態(tài)路由,這里

    2024年02月10日
    瀏覽(25)
  • 微服務(wù)開發(fā)系列 第七篇:RocketMQ

    A、技術(shù)棧 開發(fā)語言:Java 1.8 數(shù)據(jù)庫:MySQL、Redis、MongoDB、Elasticsearch 微服務(wù)框架:Spring Cloud Alibaba 微服務(wù)網(wǎng)關(guān):Spring Cloud Gateway 服務(wù)注冊和配置中心:Nacos 分布式事務(wù):Seata 鏈路追蹤框架:Sleuth 服務(wù)降級與熔斷:Sentinel ORM框架:MyBatis-Plus 分布式任務(wù)調(diào)度平臺:XXL-JOB 消息中間

    2024年02月07日
    瀏覽(28)
  • 容器(第七篇)docker-consul

    容器(第七篇)docker-consul

    consul服務(wù)器: 1. 建立 Consul 服務(wù) mkdir /opt/consul cp consul_0.9.2_linux_amd64.zip /opt/consul cd /opt/consul unzip consul_0.9.2_linux_amd64.zip mv consul /usr/local/bin/ //設(shè)置代理,在后臺啟動 consul 服務(wù)端 consul agent -server -bootstrap -ui -data-dir=/var/lib/consul-data -bind=192.168.80.15 -client=0.0.0.0 -node=consul

    2024年02月08日
    瀏覽(23)
  • Java學(xué)習(xí)手冊——第七篇基礎(chǔ)語法

    Java學(xué)習(xí)手冊——第七篇基礎(chǔ)語法

    本篇為大家快速入門Java基礎(chǔ)語法,了解一個語言的基礎(chǔ)語法是必要的, 因為我們后期都是需要用這些基礎(chǔ)語法匯聚成我們想要的功能和想法。 這些都是必知必會的,但是不需要十分掌握,需要用到時可知道哪里查詢, 用多了就熟練了。 注釋有:文檔注釋、多行注釋、當(dāng)行

    2024年02月20日
    瀏覽(16)
  • 第七篇——Apache Kafka的設(shè)計與實現(xiàn)

    作者:禪與計算機程序設(shè)計藝術(shù) Apache Kafka是Apache軟件基金會推出的一個開源分布式流處理平臺,它最初由LinkedIn開發(fā)并于2011年9月正式發(fā)布,目前已成為 Apache 項目之一,是一個基于發(fā)布-訂閱模式的分布式、高吞吐量、可容錯、高可靠的消息系統(tǒng),能夠提供實時的消費和發(fā)送

    2024年02月08日
    瀏覽(17)
  • 【FPGA入門】第七篇、FPGA實現(xiàn)VGA接口驅(qū)動

    【FPGA入門】第七篇、FPGA實現(xiàn)VGA接口驅(qū)動

    目錄 第一部分、實驗結(jié)果 ?1、橫的三色彩條效果 2、豎的三色彩條效果 第二部分、VGA驅(qū)動基本知識 1、VGA分辨率問題???????? 2、VGA驅(qū)動波形 2.1、工業(yè)標準的時序波形圖 2.2、比上面那張圖更容易理解的圖 2.3、每個區(qū)域?qū)?yīng)的時間 2.4、不同分辨率的表格 3、VGA掃描范圍問題

    2024年02月07日
    瀏覽(19)
  • C++類開發(fā)第七篇(詳細說說多態(tài)和編譯原理)

    C++類開發(fā)第七篇(詳細說說多態(tài)和編譯原理)

    多態(tài)性(polymorphism)提供接口與具體實現(xiàn)之間的另一層隔離,從而將”what”和”how”分離開來。多態(tài)性改善了代碼的可讀性和組織性,同時也使創(chuàng)建的程序具有可擴展性,項目不僅在最初創(chuàng)建時期可以擴展,而且當(dāng)項目在需要有新的功能時也能擴展。 c++支持編譯時多態(tài)(靜態(tài)多

    2024年03月09日
    瀏覽(26)
  • Pyside6-第七篇-QLineEdit文本行編輯(內(nèi)設(shè)案例)

    本篇Pyside6的第七篇,開啟新功能了。單行文本編輯器。 源代碼片段 ? 這里簡單的告訴了你它可以怎么寫。所以我們簡單的試試。 ? 一個簡單的單行文本示例

    2024年02月08日
    瀏覽(39)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包