引用第1楼依依丫于2009-04-16 18:01发表的 :
你要的是鼠标滑过控件,而没有点击的消息吧?应该是下面这个
virtual void hoverEnterEvent ( QGraphicsSceneHoverEvent * event )
鼠标离开控件时,是下面的消息
virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent * event )
我试上面两个函数和
void focusInEvent ( QFocusEvent * event );
都不起作用~
不知是哪出了问题`
void ButtonItem::mousePressEvent(QGraphicsSceneMouseEvent *event)//按下
{
update();
emit ButtonItemClick();//触发事件
//QGraphicsItem::mousePressEvent(event);//有这句就不响应松开鼠标事件
}
void ButtonItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)//松开
{
// update();
//emit ButtonItemClick();//触发事件
qDebug("mouseReleaseEvent");
QGraphicsItem::mouseReleaseEvent(event);
}
void ButtonItem::focusInEvent ( QFocusEvent * event )
{
qDebug("focusInEvent");
}
void ButtonItem::hoverEnterEvent ( QGraphicsSceneHoverEvent * event )
{
qDebug("hoverEnterEvent");
}
鼠标按下和松开都可触发,惟有获得和失去光标不可触发,另外请问QGraphicsItem::mouseReleaseEvent(event);这句话有什么作用呢?