当前位置: 首页> 科技> IT业 > 建模网_汕头建站模板源码_百度地图网页版进入_网页制作软件推荐

建模网_汕头建站模板源码_百度地图网页版进入_网页制作软件推荐

时间:2025/7/9 22:45:03来源:https://blog.csdn.net/the_dry/article/details/143976894 浏览次数:0次
建模网_汕头建站模板源码_百度地图网页版进入_网页制作软件推荐

函数定义

头文件:

#include <QMouseEvent>

#include <QWidget>

父类:QWidget

enum ButtonType
{MIN_CLOSE_BUTTON = 0 ,	 //最小化及关闭按钮MIN_MAX_CLOSE_BUTTON,    //最小化、最大化及关闭按钮CLOSE_BUTTON             //仅有关闭按钮
};//移动窗口的变量
bool moveAble;
QPoint startMovePos;	//开始移动的点坐标

 源代码:

按压事件:

//通过鼠标按下、鼠标移动、鼠标释放事件实现拖动标题栏达到移动窗口效果
void TitleBar::mousePressEvent(QMouseEvent* event)
{if (btnType == MIN_MAX_CLOSE_BUTTON){//在窗口最大化时禁止拖动窗口if (ui.ButtonMax->isVisible()){moveAble = true;startMovePos = event->globalPos();//globalPos()返回事件发生时鼠标坐在的全局位置}}else{moveAble = true;startMovePos = event->globalPos();}//如果重写了父类的事件函数,则返回重新调用一次,以保证调用了父类return QWidget::mousePressEvent(event);
}

移动事件:

void TitleBar::mouseMoveEvent(QMouseEvent* event)
{if (moveAble){QPoint movePoint = event->globalPos() - startMovePos;	//鼠标的全局坐标QPoint windowPoint = parentWidget()->pos();				//父窗体的坐标QPoint windowMovePoint = windowPoint + movePoint;		//父窗体需要移动的坐标parentWidget()->move(windowMovePoint);startMovePos = event->globalPos();						//更新当前坐标}return QWidget::mouseMoveEvent(event);
}

注:    

    //如果重写了父类的事件函数,则返回重新调用一次,以保证调用了父类
    return QWidget::mousePressEvent(event);

关键字:建模网_汕头建站模板源码_百度地图网页版进入_网页制作软件推荐

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: