1) Это называется защита заголовка. Это делает повторное включение этого заголовка идемпотентным , т.е.
#include "gotocelldialog.h"
#include "gotocelldialog.h"
делает то же самое, что и
#include "gotocelldialog.h"
Это может выглядеть странно. На практике это происходит косвенно. Просто посмотрите, как часто «qobject.h» включается в один файл.
2) Вы можете использовать только типы, которые уже определены ранее. #include
приносит декларацию, которая вам нужна.
3) Q_OBJECT
является частью системы Qt. Это макрос, который определяет несколько стандартных членов в вашем классе. Эти участники поддерживают такие функции, как сигналы / слоты.
4) Виджеты Qt могут иметь или не иметь родителей. Если у них нет родителя, они независимые окна. Если у них есть родители, они являются частью родительского окна и уничтожаются вместе с родительским окном.
Список аргументов (QWidget *parent = 0)
- это способ C ++ обозначать аргумент по умолчанию. Если вы не передадите явное значение для родителя, оно будет равно 0 (NULL
). Это означает "нет родителей". Следовательно, вы можете создать GoToCellDialog
без родителей двумя способами: либо new GoToCellDialog(0)
, либо new GoToCellDialog
.
.