[gelöst] QWidget automatisch schliessen
Verfasst: 2. Mai 2010 13:42
Hi, wie kann ich mein QWidget foo() automatisch schliessen wenn der Benutzer es offensichtlich nicht braucht?
Bisher habe ich meinem Widget foo() eine Funktion zum manuellem Schliessen verpasst.
Idee zur Lösung:
Das QEvent::Enter (Mouse enters widget's boundaries) und QEvent::Leave abzufangen, um mitzubekommen das der Benutzer aus dem Bereich des Widget foo ausgetreten ist ohne was zu machen. Dann also close().
Problem: Bekomme das Event::Enter oder Leave nicht zu sehen.
Bisher habe ich meinem Widget foo() eine Funktion zum manuellem Schliessen verpasst.
Idee zur Lösung:
Das QEvent::Enter (Mouse enters widget's boundaries) und QEvent::Leave abzufangen, um mitzubekommen das der Benutzer aus dem Bereich des Widget foo ausgetreten ist ohne was zu machen. Dann also close().
Problem: Bekomme das Event::Enter oder Leave nicht zu sehen.
Code: Alles auswählen
/*! MouseMove fuer das Bewegen des Fensters
\param event QMouseEvent Mouse Event
*/
void Navigation::mouseMoveEvent(QMouseEvent *event)
{
qDebug()<<"MouseMove:"<<event->type();
}
void Navigation::changeEvent(QEvent *e)
{
QWidget::changeEvent(e);
// Event überhaupt vorhanden?
qDebug()<<"ChangeEvent:"<<e->type();
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}- Ausgabe :
ChangeEvent: 39 Palette of the widget changed.
ChangeEvent: 39
ChangeEvent: 99 A widget's top-level window activation state has changed.
MouseMove: 5
.
.
.
MouseMove: 5
ChangeEvent: 99