当前位置: 代码迷 >> QT开发 >> qt怎么实现窗口的靠边自动隐藏功能
  详细解决方案

qt怎么实现窗口的靠边自动隐藏功能

热度:56   发布时间:2016-04-25 03:14:45.0
qt如何实现窗口的靠边自动隐藏功能?
类似qq那种,当窗口移动到桌面上边缘时,鼠标离开窗口,窗口自动向上隐藏,当鼠标回到靠边的位置,窗口又显示出来。
------解决方案--------------------
比较简单地方法,设置定时器,当获得窗口的高度为0的时候,鼠标离开窗口区域时,改变窗口大小,当鼠标移动进入窗口区域时,恢复原来窗口、
------解决方案--------------------
在头文件中声明这两个鼠标事件,然后实现代码如下:
void Widget::enterEvent(QEvent *)
{
    QRect rc;
    QRect rect;
    rect = this->geometry();
    rc.setRect(rect.x(),rect.y(),rect.width(),rect.height());
    if(rect.top()<0)
    {
        rect.setX(rc.x());
        rect.setY(0);
        move(rc.x(),-2);
    }
}

void Widget::leaveEvent(QEvent *)
{
    QRect rc;
    QRect rect;
    rect = this->geometry();
    rc.setRect(rect.x(),rect.y(),rect.width(),rect.height());
    if(rect.top()<0)
    {
        move(rc.x(),-rc.height()+2);
    }
}
  相关解决方案