gpt4 book ai didi

c++ - 本书中的qt示例

转载 作者:太空狗 更新时间:2023-10-29 23:47:56 26 4
gpt4 key购买 nike

我有这段代码:

 #include <QApplication>
#include <QFont>
#include <QPushButton>
#include <QWidget>

class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = 0);
};

MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
setFixedSize(200, 120);

QPushButton *quit = new QPushButton(tr("Quit"), this);
quit->setGeometry(62, 40, 75, 30);
quit->setFont(QFont("Times", 18, QFont::Bold));

connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWidget widget;
widget.show();
return app.exec();
}

谁能解释一下这一行到底发生了什么

MyWidget(QWidget *parent = 0);

有点难以理解这个父级是什么,在此先感谢

最佳答案

这是带有默认参数的构造函数的参数(NULL,因为根据 c++ 标准,NULL 被定义为 0)。默认意味着不传递参数与传递 NULL 相同。

由于 Qt 的小部件是按层次系统排列的(父级 -> 子级关系),父级是作为当前小部件的“所有者”或“容器”的小部件(NULL 表示没有父级又名各种根小部件)。对于 GUI 项,小部件通常会将其包含在其中的小部件作为其父级。

这是有利的,因为当父项被删除时,它会删除任何子项,因为它自动消除了对 c++ 附带的大部分内存管理的需要。

关于c++ - 本书中的qt示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3240284/

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