簡體   English   中英

C ++ QT中的繼承

[英]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為您提供了一種新的解決方案,其中父母摧毀了所有孩子,因此這是一種更簡單的方法。 您代碼中的此父級表示MyDialogQDialog

更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM