Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Unsolved Εφαρμογή Hello world

    Greek
    1
    1
    1384
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • george
      george last edited by george

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

      1 Reply Last reply Reply Quote 0
      • First post
        Last post