Εφαρμογή Hello world
Unsolved
Greek
-
Κατ΄ αρχήν καλώς σας βρήκα.
Είμαι νέος χρήστης του 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;