將乙個元件加入到乙個布局中時,qt會自動設定這個元件的父元件。這一點qt官方文件中有詳細的描述。
粗淺翻譯如下,原文在此。
當你使用這實為乙個小知識點,但是還是需要注意。因為這個重定義父元件也會使本不打算指定任何父元件的元件,擁有乙個父元件。而如果不能及時了解這個知識點,那麼在debug時會較為麻煩。layout
時,就不需要在建立子元件時指定父元件了。qt的layout
會自動的為子元件重新定義父元件(使用qwidget::setparent()
)。父元件即為安裝了layout
的元件。note:
layout
中元件的父元件是安裝了layout
的那個元件,而不是layout
。元件只能以元件作為父親,而不能以layout
作為父親。你可以使用
addlayout()
將乙個layout
放入另乙個。裡面的layout
就會是外面layout
的孩子。
總結:
非常感謝。
VC重定義問題
錯誤 1 e program files windows mobile 6 sdk pocketpc include armv4i winsock2.h 554 warning c4005 af max 巨集重定義 1 e program files windows mobile 6 sdk poc...
重定義問題的解釋
曾經多次在寫程式時遇到這個問題,每次遇到這個問題就積累一下 首先這類問題的原因在於鏈結的時候出錯,vs在編譯的過程中,專案中所有的cpp都會生成乙個對應的obj檔案,也就是乙個cpp檔案會生成乙個.obj的可重定位目標檔案,和linux中用命令g c cpp一樣,得到cpp檔案的單獨的二進位制檔案,...
swig包裝lua重定義問題
在用swig封裝lua時,會遇到函式 set函式或者 get函式重定義的錯誤,究其原因,是因為swig為每個結構體新增乙個get或者set函式,用來訪問結構體成員。如struct a int a swig會生成乙個名為 wrap a a get的函式來訪問變數 a 如果你剛好自己定義了乙個函式a a...