Seite 1 von 1

Einsteigerfrage: Programm schliessen

Verfasst: 17. Juli 2009 10:42
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

Verfasst: 17. Juli 2009 10:48
von Christian81

Verfasst: 17. Juli 2009 10:59
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
    {

Verfasst: 17. Juli 2009 11:12
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.

Verfasst: 17. Juli 2009 11:50
von RobRoy1304
aso. thx