gpt4 book ai didi

c++ - Qt类指针之间的区别

转载 作者:行者123 更新时间:2023-11-30 01:03:41 32 4
gpt4 key购买 nike

刚开始学Qt,有些地方不懂。所以我由创建者制作了小部件应用程序,框架为它创建了头文件和 cpp 文件主窗口。

Header file

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QLayout>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();

private slots:


private:
Ui::MainWindow *ui;
QLayout *aLayout;
QLayout *bLayout;
};

#endif // MAINWINDOW_H

Cpp file

#include "mainwindow.h"
#include "ui_mainwindow.h"

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

MainWindow::~MainWindow()
{
delete ui;
}

我的问题是构造函数生成的 ui 指向的对象与同一构造函数中使用的 this 指向的对象有什么区别。另外,为什么我不能通过 ui 指针访问 MainWindow 成员?

最佳答案

您的成员“ui”的类型为 Ui::MainWindow - 它是一个类,由您的表单生成。该类是由 UIC 生成的。 http://doc.qt.io/Qt-5/uic.html

“this”指针 - 是指向当前类的指针,在您的例子中,它的类型为 MainWindow。

Ui::MainWindow 和 MainWindow 不一样。如果您想访问由 Qt Designer 创建的按钮 - 使用“ui”成员,而不是“this”指针。

可能此链接会对您有所帮助 http://doc.qt.io/Qt-5/designer-using-a-ui-file.html

关于c++ - Qt类指针之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52514011/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com