Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

eisenmad

Treue Seele

  • »eisenmad« ist der Autor dieses Themas

Beiträge: 84

Wohnort: Heute hier, morgen dort

Beruf: Denker

  • Private Nachricht senden

1

25.11.2015, 13:03

qtcreator Neues Konsolen Projekt

Hi

Ich habe beschlossen, dass ich den qtcreator zukünftig als IDE verwenden will. Wenn ich darin ein neues Projekt anlege wird mir folgendes in der Haupt main.cpp Datei erzeugt:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
#include <QCoreApplication>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    return a.exec();
}


Das ist komplett anders als ich es gelernt habe. Was steht denn da? Was bedeuten die Argumente in main? Und was bedeutet: QCoreApplication a(argc, argv); und wieso ist der Rückgabewert, der doch sonst 0 sein soll (?) gerade a.exec();

Grüße

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

2

25.11.2015, 13:19

Wenn das komplett anders ist, als das was du gelernt hast, solltest du dir nochmal ein ordentliches Buch besorgen, besonders wenn du Zeile 5 und 7 nicht verstehst.

Was du in Zeile 3 siehst, sieht man wirklich nicht unbedingt in Anfängerbüchern. Wenn du ein Programm aufrufst, kannst du beim Aufruf Parameter übergeben. z.B. "ls -l -a". In argc steht die Anzahl der übergebenen Parameter, in argv die Parameter selbst (argv[0] ist glaube ich immer der vollständige Pfad zum Programm selbst).

Außerdem erstellst du da AFAIK kein Konsolenprogramm, sondern eine QT-Application.
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

3

25.11.2015, 17:45

Also wenn du nicht weißt, was die Argumente in der main bedeuten, dann solltest du das noch einmal nachlesen. Programme kann man ja auch von der Kommandozeile aus aufrufen.

Was QApplication kannst du hier mehr erfahren http://doc.qt.io/qt-5/qcoreapplication.html.

Die Klasse bietet einige nützliche Funktionen. Angemerkt sei hier jedoch, dass es sich hier um Qt handelt und kein normales c++.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <QApplication>

#include "mainwindow.h"

int main(int argc, char *argv[])
{
    Q_INIT_RESOURCE(application);

    QApplication app(argc, argv);
    app.setOrganizationName("QtProject");
    app.setApplicationName("Application Example");
    MainWindow mainWin;
    mainWin.show();          //<----- hier wird das Fenster angezeigt
    return app.exec();       //<----- hier betreten wir die Eventloop
}


Ich beschäftige mich seit ein paar Wochen mit Qt, ich mag dieses Framework, ja es macht mir sogar richtig Spaß damit Oberflächen zu bauen. Wenn man sich erst einmal an die ganzen SLOTs und SIGNALs gewöhnt hat, dann geht es.

Schöne Grüße

Fb

Werbeanzeige