[Qt-creator] Why is UI always created as a pointer and not overloaded?

Matthias Pospiech matthias.pospiech at gmx.de
Wed Feb 11 11:14:00 CET 2009


This is what Qt-Creator creates automatically:

//------------------------------------------
namespace Ui

{

    class MainWindowClass;

}

class MainWindow : public QMainWindow

{

Q_OBJECT

public:

MainWindow(QWidget *parent = 0);

~MainWindow();

private:

Ui::MainWindowClass *ui;

};


MainWindow::MainWindow(QWidget *parent)

: QMainWindow(parent), ui(new Ui::MainWindowClass)

{

    ui->setupUi(this);

}

MainWindow::~MainWindow()

{

    delete ui;

}

//------------------------------------------

Whereas I am used to this code:


//------------------------------------------

class MainWindow : public QMainWindow, protected Ui_MainWindow
{
    Q_OBJECT
public:
    MainWindow(QWidget* parent = 0, Qt::WFlags flags = 0);
    virtual ~MainWindow();
}

MainWindow::MainWindow(QWidget* parent /*= 0*/, Qt::WFlags flags /*= 0*/)
    : QMainWindow(parent , Qt::Window)
{   
    setupUi(this);
}

MainWindow::~MainWindow()
{
}

//------------------------------------------


Is there any special reason for this?

Matthias




More information about the Qt-creator-old mailing list