我有这段代码:
#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();
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释这一行究竟发生了什么
MyWidget(QWidget *parent = 0);
Run Code Online (Sandbox Code Playgroud)
有点难以理解这位父母是什么,提前谢谢
这是带有默认参数的构造函数的参数(NULL因为根据c ++标准NULL定义0).默认意味着传递无参数与传递相同NULL.
由于Qt的小部件被安排在一个层级系统(父级 - >子级关系)中,因此父级是小部件,它是当前小部件的"所有者"或"容器"(NULL意味着没有父节点也是各种根节点小部件).对于GUI项,窗口小部件通常将其包含的窗口小部件作为其父窗口.
这是有利的,因为当删除父项时,它将删除任何子项已经自动删除了对c ++附带的大量内存管理的需要.
| 归档时间: |
|
| 查看次数: |
456 次 |
| 最近记录: |