[英]inheritance in C++ QT
我是C ++ QT的初學者。 我想知道
Q1。 什么是當我通過“效果parent
”參數到父類=> QDialog(parent)
? Q2。什么這是否意味着ui(new Ui::MyDialog)
這是.cpp代碼。
MyDialog::MyDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::MyDialog)
{
ui->setupUi(this);
}
在.h代碼中。
namespace Ui {
class MyDialog;
}
謝謝!
創建用戶界面時,至少有兩個選擇:硬代碼或使用Qt Designer
創建用於描述窗口的XML
代碼。 接下來的uic
(用戶界面編譯器)將此XML
代碼轉換為真正有效的C++/Qt
代碼,並將其保存在ui_name.h
,您需要將此代碼包括在類中。 這正是您的問題中的代碼。 它在Ui
名稱空間內聲明您的類,並為該類分配內存(在構造函數中)。 接下來,您調用setupUi(this);
。 此方法包含所有主要代碼,例如為小部件分配內存,處理布局,建立連接等。
關於父級:它是Qt
對象樹系統的一部分,它簡化了Qt
內存處理。 眾所周知, C++
不是一種垃圾收集語言,因此您需要手動刪除內存。 但是Qt
為您提供了一種新的解決方案,其中父母摧毀了所有孩子,因此這是一種更簡單的方法。 您代碼中的此父級表示MyDialog
是QDialog
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.