Wo kommt mein Code rein?

Verschiedenes zu Qt
Antworten
crossfader
Beiträge: 31
Registriert: 18. September 2010 21:21
Wohnort: Lengerich
Kontaktdaten:

Wo kommt mein Code rein?

Beitrag von crossfader »

Hi!

Ich bin noch blutiger Anfänger in Qt.. das Buch von Jürgen Wolff habe ich durch.. da ich meine Klassen aber nicht immer selber schreiben will und die Formen per Code designen will, mache ich mir immer schön ein GUI Projekt, mache die Formen im Designer fertig. Nun stellt sich für mich die Frage, ob ich meinen Code, der beim Start des Programms (bzw. im Konstrukter der MainWindow-Klasse) aufgerufen soll, richtig platziert habe.. Hier durch einen Kommentar ersetzt:

Code: Alles auswählen

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

//Hier habe ich meinen Code drin

}

MainWindow::~MainWindow()
{
    delete ui;
}

Es funktioniert.. ist es auch richtig? Wo soll ich es sonst hinpacken? Ich will meine main.cpp ja nicht so voll haben :(

Vielen Dank schon einmal für die Hilfe :)

Gruß,
Olli
DBGTMaster
Beiträge: 190
Registriert: 19. August 2010 10:00

Beitrag von DBGTMaster »

ist schon korrekt so, in der main.cpp wirst auch nicht viel erfolg haben
crossfader
Beiträge: 31
Registriert: 18. September 2010 21:21
Wohnort: Lengerich
Kontaktdaten:

Beitrag von crossfader »

Ich danke dir. Dann kann ich ja beruhigt weitertippen *grins*

Gruß,
Olli
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag von androphinx »

Ich bin gerade etwas zu dumm, den richtigen Eintrag in der Dokumentation tu finden, aber ist es nicht so, dass das Fenster nicht gezeigt wird, solange der Konstruktor noch im Aufruf ist? Oder wird es mit ui->setupUi(this) schon angezeigt?

Also für kleinere Routinen ist das sicherlich uninteressant, aber wenn man z. B. Content aus dem Netz zieht, dann kann es ja schon mal zu gewissen Wartezeiten kommen...

Mfg androphinx
crossfader
Beiträge: 31
Registriert: 18. September 2010 21:21
Wohnort: Lengerich
Kontaktdaten:

Beitrag von crossfader »

Wenn ich eine einfache MessageBox öffne (im Konstrukter), dann wird erst nach dem Klick auf OK die Form angezeigt. Du wirst also Recht haben.

Wenn ich eine neue Methode zur MainWindow hinzufüge, und die im Konstruikter aufrufe, macht das ja keinen Unterschied. Wo also dann.. wenn nicht im Konstrukter?
Oder bei Aufruf der MainWindow ein Signal auslösen, welches dann eine Funktion ausführt.. aber auch nicht sehr Elegant. Wo schreibst du deinen "Konstrukter-Code" immer rein?

Gruß,
Olli
Antworten