布局重定義父部件問題

2021-10-23 12:31:44 字數 693 閱讀 4757

將乙個元件加入到乙個布局中時,qt會自動設定這個元件的父元件。這一點qt官方文件中有詳細的描述。

粗淺翻譯如下,原文在此。

當你使用layout時,就不需要在建立子元件時指定父元件了。qt的layout會自動的為子元件重新定義父元件(使用qwidget::setparent())。父元件即為安裝了layout的元件。

note:layout中元件的父元件是安裝了layout的那個元件,而不是layout。元件只能以元件作為父親,而不能以layout作為父親。

你可以使用addlayout()將乙個layout放入另乙個。裡面的layout就會是外面layout的孩子。

這實為乙個小知識點,但是還是需要注意。因為這個重定義父元件也會使本不打算指定任何父元件的元件,擁有乙個父元件。而如果不能及時了解這個知識點,那麼在debug時會較為麻煩。

總結:

非常感謝。

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...