Κατ΄ αρχήν καλώς σας βρήκα.
Είμαι νέος χρήστης του Qt, και έχω μικρή εμπειρία σε C++
Προσπαθώντας να εξοικοιωθώ με τα βασικά, δημιούργησα με τον Qt creator την ελάχιστη εφαρμογή με τον παρακάτω κώδικα:
Header:
#ifndef CWINDOW_H
#define CWINDOW_H
#include <QMainWindow>
namespace Ui {
class CWindow;
}
class CWindow : public QMainWindow
{
Q_OBJECT
public:
explicit CWindow(QWidget *parent = 0);
~CWindow();
private:
Ui::CWindow *ui;
};
#endif // CWINDOW_H
Αρχείο CPP:
#include "cwindow.h"
#include "ui_cwindow.h"
CWindow::CWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::CWindow)
{
ui->setupUi(this);
}
CWindow::~CWindow()
{
delete ui;
}
Αρχείο με την συνάρτηση main():
#include "cwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
CWindow w;
w.show();
return a.exec();
}
Στο αρχείο main δημιουργείται ένα νέο αντικείμενο w της κλάσης CWindow, σωστά;
CWindow w;
Όμως δημιουργείται ακόμα ένα νέο αντικείμενο της κλάσης CWindow μέσω του δείκτη *ui
CWindow::CWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::CWindow)
Αν στα παραπάνω δεν έχει κάποιος αντίρρηση, το ερώτημα που έχω είναι γιατί πρέπει να δημιουργηθούν δύο αντικείμενα της ίδιας κλάσης CWindow;