qt控制項父物件的確認
如果是是通過手動編寫程式的方式來設計介面,則在編寫**時手動指定各控制項的父物件;
如果是使用qt設計師來設計介面,則各控制項的最終父物件為該介面類的物件。
如有乙個查詢對話方塊介面,則qt為其自動生成的介面類**如下:
標頭檔案:
#ifndeffinddlg_h
#definefinddlg_h
#include
namespaceui
classfinddlg
:public
qdialog
;
#endif//finddlg_h
這其實是使用單繼承方式來使用ui(關於使用ui的更多細節請參閱《在qt中如何使用qtdesigner建立的ui檔案》)。實現檔案:
#include"finddlg.h"
#include"ui_finddlg.h"
finddlg::finddlg(qwidget*parent):
qdialog(parent),
ui(newui::finddlg)
finddlg::~finddlg()
以上**除注釋處為手動新增之外,其餘均為qt自動生成的**。 從以上**中可發現,在構造finddlg的時候,先執行setupui,並傳入引數this。setupui的部分**如下:
voidsetupui(qdialog
*finddlg)
可見,在setupui時,qt為各控制項設定了父物件,但所有控制項的最終父物件都為setupui時傳入的this,也就是finddlg的物件。這一點可通過以上程式來驗證:
由於qt在刪除物件時會自動刪除其子物件,因此無需顯式delete
這些用qt設計師新增的控制項。
Qt控制項父物件的確認
1 qt findchild 及動態初始化窗體布局 原創 2 在qt中如何使用qtdesigner建立的ui檔案 一 3 在qt中如何使用qtdesigner建立的ui檔案 二 qt控制項父物件的確認 如果是是通過手動編寫程式的方式來設計介面,則在編寫 時手動指定各控制項的父物件 如果是使用qt設計...
qt5之繫結父物件
qt5幫助文件 fn f1可看幫助文件 1,qwidget基類提供了乙個setgemetry函式,設定子視窗部件的大小以及子視窗部件在父視窗的位置 setgemetry int x,int y,int w,int h 在 x,y 處顯示w h大小的視窗2,qstring字串說明 str qstrin...
Qt中父視窗呼叫子視窗的控制項
父視窗為a9mechanical,它用來查詢資料庫中滿足條件的資料,並且顯示在控制項tableview中,當雙擊tableview中某一行資料時,改行資料的最後一列的內容顯示在子視窗的textedit控制項中 子視窗為showcontent,它用來顯示tableview中雙擊選中的某行資料。需要將s...