Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: itan от Июнь 30, 2006, 09:59



Название: QT 4.1.4 QTableView и события от мыши
Отправлено: itan от Июнь 30, 2006, 09:59
Для начала небольшой код:

Код:
class CMainWindow : public QMainWindow
{
private:
QTableView* tbl;
public:
CMainWindow();

private:
bool eventFilter(QObject* watched, QEvent* event);
};

CMainWindow::CMainWindow()

{
tbl = new QTableView;
tbl->installEventFilter(this);
setCentralWidget(tbl);
}

bool CMainWindow::eventFilter(QObject* watched, QEvent* event)
{
if(watched == tbl)
{
if(event->type() == QEvent::MouseButtonPress)
{
qDebug("MouseButtonPress");
}

if(event->type() == QEvent::MouseButtonRelease)
{
qDebug("MouseButtonRelease");
}

if(event->type() == QEvent::MouseButtonDblClick)
{
qDebug("MouseButtonDblClick");
}
}

return QMainWindow::eventFilter(watched, event);
}


int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    СMainWindow main;
    main.show();
    return app.exec();
}



Так вот, можно сколь угодно долго давить на мышь и щелкать по QTableView, но ни одного из вышеперечисленных событий описанных в eventFilter не поступит! В чем дело?