当前位置: 代码迷 >> QT开发 >> 写了个鼠标移到旋钮时按钮改变icon,当加入FRAME框后,就失效了。求大神来帮看看
  详细解决方案

写了个鼠标移到旋钮时按钮改变icon,当加入FRAME框后,就失效了。求大神来帮看看

热度:58   发布时间:2016-04-25 03:23:39.0
写了个鼠标移到按钮时按钮改变icon,当加入FRAME框后,就失效了。求大神来帮看看
重载了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吧
  相关解决方案