Hello forum
I have the following class memeber functions that tries to capture the key press and release events, but none of them is captured.
{
Q_OBJECT
public:
enum Mode { InsertItem, InsertLine, InsertText, MoveItem };
{ return myFont; }
{ return myTextColor; }
{ return myItemColor; }
{ return myLineColor; }
void setLineColor
(const QColor &color
);
void setTextColor
(const QColor &color
);
void setItemColor
(const QColor &color
);
void setFont
(const QFont &font
);
public slots:
void setMode(Mode mode);
void setItemType(DiagramItem::DiagramType type);
void editorLostFocus(DiagramTextItem *item);
signals:
void itemInserted(DiagramItem *item);
protected:
private:
bool isItemChange(int type);
DiagramItem::DiagramType myItemType;
Mode myMode;
bool leftButtonDown;
DiagramTextItem *textItem;
};
class DiagramScene : public QGraphicsScene
{
Q_OBJECT
public:
enum Mode { InsertItem, InsertLine, InsertText, MoveItem };
DiagramScene(QMenu *itemMenu, QObject *parent = 0);
QFont font() const
{ return myFont; }
QColor textColor() const
{ return myTextColor; }
QColor itemColor() const
{ return myItemColor; }
QColor lineColor() const
{ return myLineColor; }
void setLineColor(const QColor &color);
void setTextColor(const QColor &color);
void setItemColor(const QColor &color);
void setFont(const QFont &font);
public slots:
void setMode(Mode mode);
void setItemType(DiagramItem::DiagramType type);
void editorLostFocus(DiagramTextItem *item);
signals:
void itemInserted(DiagramItem *item);
void textInserted(QGraphicsTextItem *item);
void itemSelected(QGraphicsItem *item);
protected:
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent);
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent);
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent);
void keyReleaseEvent(QKeyEvent *event);
void keyPressEvent(QKeyEvent *event);
private:
bool isItemChange(int type);
DiagramItem::DiagramType myItemType;
QMenu *myItemMenu;
Mode myMode;
bool leftButtonDown;
QPointF startPoint;
QGraphicsLineItem *line;
QFont myFont;
DiagramTextItem *textItem;
QColor myTextColor;
QColor myItemColor;
QColor myLineColor;
};
To copy to clipboard, switch view to plain text mode
void DiagramScene
::keyPressEvent(QKeyEvent *event
) {
if(event->key() == Qt::Key_Control)
{
std::cout << "Ctrl pressed" << endl;
}
}
void DiagramScene::keyPressEvent(QKeyEvent *event)
{
if(event->key() == Qt::Key_Control)
{
std::cout << "Ctrl pressed" << endl;
}
}
To copy to clipboard, switch view to plain text mode
Any hint on this?
Regards
Sajjad
Bookmarks