一、回顧

    使用qt2年多了,但是還是覺得很陌生,總是會被qt搞的很緊張,有時候當我自信滿滿的打開幫助文檔,搜索某個已知的類時,由于筆誤敲錯了一個字母而出現(xiàn)了另外一個類,不過奇怪的是還真有這么一個類,哎?。?!我怎么都不知道呢!看來qt的東西還真不是一般的多,隨便一個筆誤都可能發(fā)現(xiàn)新的東西。特別是qt現(xiàn)在已經(jīng)發(fā)布了qt5.7版本,相對于qt4的時代那真是天差地別,就我個人而言,我現(xiàn)在用的是qt5.6.1-1,因為qt5.6版本官方聲稱維護2年的時間。qt5.6取消了webkit模塊,如果需要使用可以自行編譯,我自己也對qt5.6.1-1的整個模塊進行了編譯,有需要的小伙伴可以參考msvc2013編譯qt5.6源碼

    本文主要是想講述qt的一個代碼書寫方式,當然了這樣說有些大,其實就是qt他的源碼在分層上是把成員都單獨拉到一個filename_p.h的頭文件里,這樣做的有好處也有壞處,下面是我自己的觀點:

  優(yōu)點 缺點
qt

1、龐大的代碼容易管理

2、成員的私有實現(xiàn)和具體對外開放的接口分離

1、閱讀性差

2、可擴展性差

表1 qt優(yōu)缺點

    上述缺點都是我個人認為,其中可擴展性差不是說qt不能擴展,而是擴展的時候有一定限制,因為qt的一個功能實現(xiàn)的最基本單元就是filename.h、filename.cpp和filename_p.h,通常情況下我們只能拿到filename.h,而私有的filename_p.h文件拿不到,所以不能進行對齊進行擴展,這也導(dǎo)致了一些操作不能很好的而進行,除非qt源碼給我們了相關(guān)接口,否則我們是很難去維護私有的filename_p.h的實現(xiàn),比如:qt的qcharts模塊,這個模塊是qt5.7才正式開源的模塊,當然了有興趣的同學(xué)可以自己手動在自己的當前qt模塊下編譯qtcharts,然后將開發(fā)所需要的庫都加入到自己當前的qt版本中。

    為什么說提到qcharts模塊呢,是因為我之前看過大概的實現(xiàn)原理,他也是一貫的qt代碼作風(fēng),那就是不容易閱讀,每一個對外暴露的接口,僅僅是接口而已,而他具體的實現(xiàn)都是隱藏在另外一個沒有暴露給用戶的接

我想了解如何學(xué)習(xí)

姓名:
手機:
留言: