重载了mouseMoveEvent函数,内容是
event->accept();
if(enterBtn(event->pos(),ui->button1))
{
ui->button1 -> setIcon (QIcon(":/move1"));
}
//用来判断当前鼠标位置是否在按钮上
bool MainDialog::enterBtn(QPoint pp, Button *btn)
{
int height = btn->height();
int width = btn->width();
QPoint btnMinPos = btn->pos();
QPoint btnMaxPos = btn->pos();
btnMaxPos.setX(btn->pos().x()+width);
btnMaxPos.setY(btn->pos().y()+height);
if(pp.x() >= btnMinPos.x() && pp.y() >= btnMinPos.y()
&& pp.x() <= btnMaxPos.x() && pp.y() <= btnMaxPos.y())
return true;
else
return false;
}
之前一切都正常的,
当我把按钮加入到frame里面以后,就失效了,小弟实在是搞不懂为什么,难道加上frame坐标就都变了?
------解决方案--------------------
自己解决不也很好嘛。顺便,分别浪费了
------解决方案--------------------
这应该重写的是enterEvent吧