zoukankan      html  css  js  c++  java
  • Qt中的ui指针和this指针

    初学qt,对其ui指针和this指针产生疑问,画了个把小时终于搞懂了。


    首先看ui指针的定义:

    在mainwindow.h中

    private:
        Ui::MainWindow *ui;

    Ui又是什么?

    同在mainwindow.h

    namespace Ui {
    class MainWindow;
    }

    本体是ui_mainwindow.h中:

    namespace Ui {
        class MainWindow: public Ui_MainWindow {};
    } // namespace Ui

    也就是说Ui域中的MainWindow是完全继承自类Ui_MainWindow,而类Ui_MainWindow是关联qtdesigner的,.ui文件中的实现和类Ui_MainWindow密不可分。

    再看*ui ,他是一个指向Ui域中MainWindow的指针,可以访问qtdesigner中的控件等元素,他本身是非Ui域中的MainWindow的一个成员指针变量。

    然后是this:

    非Ui域中的MainWindow是继承自QMainWindow的,他的构造是这样:

    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    }

    this指向非Ui域中的MainWindow的一个对象,所以可以说this->ui

    参考:


    https://blog.csdn.net/songjinshi/article/details/7333119
  • 相关阅读:
    redis搭建集群
    redis搭建主从
    redis与python交互
    redis数据操作篇
    redis配置篇
    node 淘宝镜像
    java 深copy
    springmvc配置访问静态文件
    centos 启动 oracle
    List 分隔多次执行 且在同一个事物当中
  • 原文地址:https://www.cnblogs.com/katachi/p/9005767.html
Copyright © 2011-2022 走看看