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.