亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Qt中parent()函數(shù)的具體使用

 更新時間:2024年03月07日 12:01:48   作者:lpl還在學(xué)習(xí)的路上  
你會發(fā)現(xiàn)幾乎所有的Qt類的構(gòu)造函數(shù)都會有一個parent參數(shù),本文主要介紹了Qt中parent()函數(shù)的具體使用,具有一定的參考價值,感興趣的可以了解一下

情景(需求)抽象:

A類對象是B類對象的成員變量。

B類對象是A類對象的父親。

A類對象中包含按鈕,點擊按鈕,調(diào)用B類的成員函數(shù)。

示例:

A類:

#pragma once

#include <QWidget>
#include "ui_QtWidgetsClass.h"

class QtWidgetsClass : public QWidget
{
	Q_OBJECT

public:
	QtWidgetsClass(QWidget *parent = nullptr);
	~QtWidgetsClass();
	void yyy();
private:
	Ui::QtWidgetsClassClass ui;
};
#include "QtWidgetsClass.h"
#include "QtWidgetsApplication1.h"
QtWidgetsClass::QtWidgetsClass(QWidget *parent)
	: QWidget(parent)
{
	ui.setupUi(this);
	connect(ui.pushButton, &QPushButton::clicked, this, &QtWidgetsClass::yyy);
}

QtWidgetsClass::~QtWidgetsClass()
{
}
void QtWidgetsClass::yyy()
{
	QtWidgetsApplication1* w = (QtWidgetsApplication1*)(this->parent());
	w->xxx();
}

B類: 

#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_QtWidgetsApplication1.h"

class QtWidgetsClass;
class QtWidgetsApplication1 : public QMainWindow
{
    Q_OBJECT

public:
    QtWidgetsApplication1(QWidget *parent = nullptr);
    ~QtWidgetsApplication1();
    void xxx();
private:
    Ui::QtWidgetsApplication1Class ui;
    QtWidgetsClass* c;
};
#include "QtWidgetsApplication1.h"
#include "QtWidgetsClass.h"
#include <qdebug.h>
QtWidgetsApplication1::QtWidgetsApplication1(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    c = new QtWidgetsClass(this);
}

QtWidgetsApplication1::~QtWidgetsApplication1()
{
}
void QtWidgetsApplication1::xxx()
{
    qDebug() << "QtWidgetsApplication1::xxx()";
}

main.cpp: 

#include "QtWidgetsApplication1.h"
#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QtWidgetsApplication1 m;
    m.show();
    return a.exec();
}

效果:點擊按鈕,對象c調(diào)用其parent對象m的xxx()函數(shù)。

進一步拓展,當(dāng)有多重嵌套時,也可使用該方法。

QtWidgetsApplication1* w = (QtWidgetsApplication1*)(this->parent());

不斷獲取parent(),然后調(diào)用相關(guān)函數(shù)。 

到此這篇關(guān)于Qt中parent()函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)Qt parent()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實現(xiàn)正態(tài)隨機分布的方法

    C++實現(xiàn)正態(tài)隨機分布的方法

    本篇介紹了,使用c++實現(xiàn)正態(tài)隨機分布的實現(xiàn)方法。需要的朋友參考下
    2013-05-05
  • C++實現(xiàn)神經(jīng)BP神經(jīng)網(wǎng)絡(luò)

    C++實現(xiàn)神經(jīng)BP神經(jīng)網(wǎng)絡(luò)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)神經(jīng)BP神經(jīng)網(wǎng)絡(luò),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • Opencv LBPH人臉識別算法詳解

    Opencv LBPH人臉識別算法詳解

    這篇文章主要為大家詳細介紹了Opencv LBPH人臉識別算法的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 遞歸形式與非遞歸形式的斐波那契數(shù)列的用法分析

    遞歸形式與非遞歸形式的斐波那契數(shù)列的用法分析

    本篇文章是對遞歸形式與非遞歸形式的斐波那契數(shù)列的用法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 深入了解C++中常用的三個智能指針

    深入了解C++中常用的三個智能指針

    C++是一門強大的編程語言,但是在內(nèi)存管理方面卻存在著一些問題。手動管理內(nèi)存不僅費時費力,而且容易出錯。因此,C++中引入了智能指針這一概念,以更好地管理內(nèi)存,下面就來詳細講講C++中常用的三個智能指針吧
    2023-05-05
  • C++填坑的重寫,重載和隱藏的詳解

    C++填坑的重寫,重載和隱藏的詳解

    這篇文章主要介紹了C++中重載、重寫(覆蓋)和隱藏的區(qū)別,是C++面向?qū)ο蟪绦蛟O(shè)計非常重要的概念,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-09-09
  • C語言打印菱形實例詳解

    C語言打印菱形實例詳解

    這篇文章主要給大家介紹了關(guān)于C語言如何打印菱形的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 用c語言實現(xiàn)和平精英的完整代碼

    用c語言實現(xiàn)和平精英的完整代碼

    這篇文章主要介紹了用c語言實現(xiàn)和平精英的完整代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • C++動態(tài)內(nèi)存分配(new/new[]和delete/delete[])詳解

    C++動態(tài)內(nèi)存分配(new/new[]和delete/delete[])詳解

    這篇文章主要介紹了C++動態(tài)內(nèi)存分配(new/new[]和delete/delete[])詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • VS2019調(diào)試C語言程序(監(jiān)視操作)的詳細步驟

    VS2019調(diào)試C語言程序(監(jiān)視操作)的詳細步驟

    在很多時候我們在寫程序的過程中會發(fā)現(xiàn)一些非編程錯誤的問題,這樣的問題很難直接分辨出來,但是我們可以用調(diào)試了一步一步的模擬程序運行的過程,來找出程序的錯誤,下面這篇文章主要給大家介紹了關(guān)于VS2019調(diào)試C語言程序(監(jiān)視操作)的詳細步驟,需要的朋友可以參考下
    2022-11-11

最新評論