Einsteigerfrage: Programm schliessen

Alles rund um die Programmierung mit Qt
Antworten
RobRoy1304
Beiträge: 47
Registriert: 9. Juli 2009 10:56

Einsteigerfrage: Programm schliessen

Beitrag von RobRoy1304 »

Hallo,

wie kann ich von irgendwo in meinem Programm das Programm beenden?
Ich habe in meinem Konstruktor eine Abfrage ob eine Datei vorhanden ist,
wenn nicht soll das Programm beendet werden.

Code: Alles auswählen

close();//MainWindow
funktioniert leider nicht.

Rob
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
RobRoy1304
Beiträge: 47
Registriert: 9. Juli 2009 10:56

Beitrag von RobRoy1304 »

hab ich gesetzt, also in der main.cpp, bringt nur leider nichts.

Code: Alles auswählen

#include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    a.setQuitOnLastWindowClosed (true);
    MainWindow w;
    w.showMaximized ();
    return a.exec();
}

und hier ist die Abfrage:

Code: Alles auswählen

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //-
    if(!m_db.open_db("lava.sqlite"))
    {//no db-connect
        QMessageBox msg;
        msg.setText("Es konnte keine Verbindung zur Datenbank aufgebaut werden,\nbitte legen Sie die Datei \"lava.sqlite\"in den Programmordner.");
        msg.exec();
        close();
    }
    else
    {
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Code: Alles auswählen

MainWindow w;
w.showMaximized ();
return a.exec();
Du rufst close() im ctor aus, später dann aber showMaximized() - also ist das Fenster bei Erreichen der Eventloop nicht geschlossen, also geht es nicht.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
RobRoy1304
Beiträge: 47
Registriert: 9. Juli 2009 10:56

Beitrag von RobRoy1304 »

aso. thx
Antworten