Εφαρμογή Hello world



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


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.