PDA

View Full Version : [Qt4.5] event(QEvent * event) freeze application



czlowiekcien
25th May 2009, 15:58
when I try to use event it freeze everything
*.h


#include <QtGui/QWidget>


namespace Ui
{
class Widget;

}
class Widget : public QWidget
{
Q_OBJECT
protected:
virtual bool event(QEvent * event);
public:
Widget(QWidget *parent = 0);
~Widget();

public slots:

private:
Ui::Widget *ui;

};
*.cpp


bool Widget::event(QEvent * event)
{event->accept();
if(event->type()==QEvent::Enter)
{
ui->label_2->setText("QEvent::Enter");
}
return true;
}


it looks like it is working but only some miliseconds and stops. label_2 had write only half of text "QEvent::E"

wysota
25th May 2009, 20:25
You are returning true for any event for the widget thus no events are processed by proper event handlers (including a paint event).

jpn
25th May 2009, 20:25
bool Widget::event(QEvent * event)
{
if(event->type()==QEvent::Enter)
{
event->accept();
ui->label_2->setText("QEvent::Enter");
return true;
}
return QWidget::event(event);
}