Programm stürzt bei event->type() ab



  • Ich habe in einer Klassenfunktion folgenden Quelltext. In der Klasse ist im public-Bereich 'QEvent *event;'.

    #include "exampleclass.h"

    void ExampleClass::ExampleONE() {
    QLabel* ifPress = new QLabel;

    if (event->type() == QEvent::KeyPress) {
    ifPress->setText("Eine Taste ist gedrückt!");
    }
    if (event->type() == QEvent::KeyPress) {
    ifPress->setText("Die Taste wurde losgelassen!");
    }

    QGridLayout* maingrid = new QGridLayout;

    maingrid->addWidget(ifPress, 0, 0);

    groupmain = new QGroupBox;
    this->groupmain->setLayout(maingrid);

    setCentralWidget(groupmain);
    }

    Nun stürzt mein Programm, immer ab wenn es auf diese Funktion zugreift.
    QtCreator gibt mir folgende Meldung:

    Der Prozess wurde nach Erhalt eines Signals vom Betriebssystem angehalten.

    Name des Signals :
    SIGSEGV
    Bedeutung :
    Segmentation fault



  • Dein "QEvent *event" ist deklariert aber eben nicht instantiiert -> SegFault.
    Aber so funktioniert das eh nicht. Beschäftige dich mit events, v.a. Event Handling.
    Du suchst das "keyPressEvent()" und das "keyReleaseEvent()".

    Und bitte verwende fürs nächste mal die cpp-tags.


Anmelden zum Antworten