中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

外包做網(wǎng)站公司客戶管理軟件crm排名

外包做網(wǎng)站公司,客戶管理軟件crm排名,全國村級網(wǎng)站建設,網(wǎng)站設計寧波QObject是Qt里邊絕大部分類的根類 QObject對象之間是以對象樹的形式組織起來的。 當兩個QObject(或子類)的對象建立了父子關系的時候。子對象就會加入到父對象的一個成員變量叫children(孩子)的list(列表)…

QObject是Qt里邊絕大部分類的根類

  1. QObject對象之間是以對象樹的形式組織起來的。
    1. 當兩個QObject(或子類)的對象建立了父子關系的時候。子對象就會加入到父對象的一個成員變量叫children(孩子)的list(列表)中。
    2. 父對象析構的時候這個列表中的所有對象也會被析構。(注意,這里是說父對象和子對象,不要理解成父類和子類)
  2. QWidget是能夠在屏幕上顯示的一切組件的父類
    1. QWidget繼承自QObject,因此也繼承了這種對象樹關系。一個孩子自動地成為父組件的一個子組件。我們向某個窗口中添加了一個按鈕或者其他控件(建立父子關系),當用戶關閉這個窗口的時候,該窗口就會被析構,之前添加到他上邊的按鈕和其他控件也會被一同析構。這個結果也是我們開發(fā)人員所期望的。
    2. 當然,我們也可以手動刪除子對象。當子對象析構的時候會發(fā)出一個信號destroyed,父對象收到這個信號之后就會從children列表中將它剔除。比如,當我們刪除了一個按鈕時,其所在的主窗口會自動將該按鈕從其子對象列表(children)中刪除,并且自動調(diào)整屏幕顯示,按鈕在屏幕上消失。當這個窗口析構的時候,children列表里邊已經(jīng)沒有這個按鈕子對象,所以我們手動刪除也不會引起程序錯誤。

Qt 引入對象樹的概念,在一定程度上解決了內(nèi)存問題。

  1. 對象樹中對象的順序是沒有定義的。這意味著,銷毀這些對象的順序也是未定義的。
  2. 任何對象樹中的 QObject對象 delete 的時候,如果這個對象有 parent,則自動將其從 parent 的children()列表中刪除;如果有孩子,則自動 delete 每一個孩子。Qt 保證沒有QObject會被 delete 兩次,這是由析構順序決定的。

如果QObject在棧上創(chuàng)建,Qt 保持同樣的行為。正常情況下,這也不會發(fā)生什么問題。來看下下面的代碼片段:

{QWidget window;QPushButton quit("Quit", &window);}

作為父組件的 window 和作為子組件的 quit 都是QObject的子類(事實上,它們都是QWidget的子類,而QWidget是QObject的子類)。這段代碼是正確的,quit 的析構函數(shù)不會被調(diào)用兩次,因為標準 C++要求,局部對象的析構順序應該按照其創(chuàng)建順序的相反過程。因此,這段代碼在超出作用域時,會先調(diào)用 quit 的析構函數(shù),將其從父對象 window 的子對象列表中刪除,然后才會再調(diào)用 window 的析構函數(shù)。

但是,如果我們使用下面的代碼:

{QPushButton quit("Quit");QWidget window;quit.setParent(&window);}

情況又有所不同,析構順序就有了問題。我們看到,在上面的代碼中,作為父對象的 window 會首先被析構,因為它是最后一個創(chuàng)建的對象。在析構過程中,它會調(diào)用子對象列表中每一個對象的析構函數(shù),也就是說, quit 此時就被析構了。然后,代碼繼續(xù)執(zhí)行,在 window 析構之后,quit 也會被析構,因為 quit 也是一個局部變量,在超出作用域的時候當然也需要析構。但是,這時候已經(jīng)是第二次調(diào)用 quit 的析構函數(shù)了,C++ 不允許調(diào)用兩次析構函數(shù),因此,程序崩潰了。

由此我們看到,Qt 的對象樹機制雖然幫助我們在一定程度上解決了內(nèi)存問題,但是也引入了一些值得注意的事情。這些細節(jié)在今后的開發(fā)過程中很可能時不時跳出來煩擾一下,所以,我們最好從開始就養(yǎng)成良好習慣,在 Qt 中,盡量在構造的時候就指定 parent 對象,并且大膽在堆上創(chuàng)建。

http://www.risenshineclean.com/news/55719.html

相關文章:

  • 網(wǎng)站建設與管理說課稿營銷一體化平臺
  • 網(wǎng)站服務器租用怎么購買360攝像頭海澳門地區(qū)限制解除
  • 小學生做創(chuàng)客大賽網(wǎng)站的題開魯網(wǎng)站seo
  • wordpress discuz建站手機軟文廣告300字
  • wordpress標簽tag搜索引擎優(yōu)化好做嗎
  • 上海電子商務網(wǎng)站開發(fā)武漢百度推廣優(yōu)化
  • 網(wǎng)站建設技術進行開發(fā)鄭州seo代理商
  • 長春網(wǎng)站制作公司哪個好高端seo服務
  • 上海網(wǎng)站建設選緣魁百度搜索結果優(yōu)化
  • 比特幣交易網(wǎng)站可以做空嗎一站式網(wǎng)絡營銷
  • 昆明網(wǎng)站建設織夢谷歌play
  • 做模具的網(wǎng)站競價外包
  • 北京通州區(qū)網(wǎng)站制作簡述網(wǎng)絡營銷的含義
  • 做網(wǎng)站和app有什么區(qū)別seo工資水平
  • 手機制作網(wǎng)站軟件seo實戰(zhàn)密碼第三版
  • 3小時網(wǎng)站建設平臺滴滴友鏈
  • 網(wǎng)站建設流程共有幾個階段百度一下首頁極簡版
  • 輕蜂加速器網(wǎng)站優(yōu)化策略分析
  • 做網(wǎng)站外包大學生關于進一步優(yōu)化落實疫情防控措施
  • 施工企業(yè)包括哪些市場推廣seo職位描述
  • 國內(nèi)頂尖小程序開發(fā)公司廣州seo排名收費
  • 廈門建設工程信息網(wǎng)官網(wǎng)seo診斷分析報告
  • 怎么才能建立網(wǎng)站運營培訓班有用嗎
  • 兩學一做注冊網(wǎng)站百度首頁
  • 網(wǎng)站開發(fā)文檔撰寫模板鎮(zhèn)江seo
  • 阿里云做網(wǎng)站需要環(huán)境自己做一個網(wǎng)站要多少錢
  • 沈陽市建設工程質(zhì)量監(jiān)督局網(wǎng)站神馬推廣登錄
  • 職業(yè)生涯規(guī)劃用什么網(wǎng)站做測試微博搜索引擎優(yōu)化
  • 做網(wǎng)站最適合用多大的圖片手游代理加盟哪個平臺最強大
  • 網(wǎng)站和做游戲網(wǎng)站優(yōu)化排名服務