Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] Не могу уловить нажатие кнопки мыши


Автор: kolesnle 12.6.2013, 09:43
Вот я делаю так:
graphicsscene.h
Код

#ifndef GRAPHICSSCENE_H
#define GRAPHICSSCENE_H

#include <QGraphicsScene>
#include <QDebug>

class GraphicsScene : public QGraphicsScene
{
    Q_OBJECT
public:
    explicit GraphicsScene(QObject *parent = 0);
    virtual ~GraphicsScene();
protected:
    void mousePressEvent();
    void mouseDoubleClickEvent();
    void mouseMoveEvent();
    void mouseReleaseEvent();

signals:
    void pressed();
    void doubleClicked();
    void mouseMoved();
    void released();
public slots:

};

#endif // GRAPHICSSCENE_H

graphicsscene.cpp
Код

#include "graphicsscene.h"

GraphicsScene::GraphicsScene(QObject *parent) :
    QGraphicsScene(parent)
{
}
void GraphicsScene::mousePressEvent()
{
    qDebug() << "mouse pressed";
    emit pressed();
}

void GraphicsScene::mouseDoubleClickEvent()
{
    qDebug() << "mouse double clicked";
    emit doubleClicked();
}

void GraphicsScene::mouseMoveEvent()
{
    qDebug() << "mouse moved";
    emit mouseMoved();
}

void GraphicsScene::mouseReleaseEvent()
{
    qDebug() << "mouse relaeased";
    emit released();
}

Но когда я нажимаю по graphicsView(сцену установил) в debug не выводится "mouse pressed". Я подозреваю, что у меня что-то не то с головой, объясните, пожалуйста, как правильно?

Автор: kolesnle 12.6.2013, 12:47
решено 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)