QT Creator - wskaźnik *ui na liście inicjalizacyjnej konstruktora MainWindow

0

Witam!

Jestem początkujący...

Zacząłem pracę z QT Creatorem i mam pytanie odnośnie klasy MainWindow, a raczej listy inicjalizacyjnej jej konstruktora.

Na liście tej widzimy m.in. inicjalizację składnika tej klasy *ui (wskaźnika) operatorem new z jawnym wywołaniem konstruktora.

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

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

private:
    Ui::MainWindow *ui;            //SKŁADNIK - WSKAŹNIK DO POKAZYWANIA NA OBIEKT KLASY MainWindow  
};

#endif // MAINWINDOW_H

mainwindow.cpp

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

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)            //INICJALIZACJA ui JAWNYM WYWOŁANIEM KONSTRUKTORA
{
    ui->setupUi(this);
}

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

Czy jawnie wywołując konstruktor MainWindow w liście inicjalizacyjnej inicjujący wskaźnik *ui nie powinno dojść do błędu? Wydaje mi się, że powinno dojść do zapętlenia...
Czy użyte przestrzenie nazw (Ui::MainWindow) eliminują ten problem???
Jestem początkujący, przepraszam jeżeli moje pytanie jest śmieszne... czy użyte przestrzenie nazw (Ui::MainWindow) eliminują ten problem???

Proszę o wytłumaczenie

2

Jak spojrzysz w kod wygenerowany przez Qt Designer'a to zauwayżysz, że wszystko tam znajduje się w przestrzeni nazw UI. Czyli inicjalizujesz zmienną ui konstruktorem klasy wygenerowanej przez designer'a a nie klasy którą tutaj zamieściłeś.

1 użytkowników online, w tym zalogowanych: 0, gości: 1