您的位置:首页 > 财经 > 产业 > 泉州网站设计_个人主页网站制作_海东地区谷歌seo网络优化_seo每日工作内容

泉州网站设计_个人主页网站制作_海东地区谷歌seo网络优化_seo每日工作内容

2025/4/21 1:58:25 来源:https://blog.csdn.net/qq_15181569/article/details/147270010  浏览:    关键词:泉州网站设计_个人主页网站制作_海东地区谷歌seo网络优化_seo每日工作内容
泉州网站设计_个人主页网站制作_海东地区谷歌seo网络优化_seo每日工作内容

一、QWidget实现窗口拖动

.hpp

QPoint pressedPoint;
bool leftBtnPressed = false;

.cpp

bool PetWidget::eventFilter(QObject *obj, QEvent *event)
{if(obj == this){if(event->type() == QEvent::MouseButtonPress){QMouseEvent* e = static_cast<QMouseEvent *>(event);if(e->button() == Qt::LeftButton){this->pressedPoint = e->globalPos() - pos();this->leftBtnPressed = true;}}else if(event->type() == QEvent::MouseMove){QMouseEvent* e = static_cast<QMouseEvent *>(event);if(this->leftBtnPressed){this->move(e->globalPos() - this->pressedPoint);}}else if(event->type() == QEvent::MouseButtonRelease){QMouseEvent* e = static_cast<QMouseEvent *>(event);if(e->button() == Qt::LeftButton){this->leftBtnPressed = false;}}}return false;
}

二、QML实现窗口拖动

import QtQuick
import QtQuick.Controls
import QtQuick.DialogsApplicationWindow {id:rootwidth: 100height: 150property point movePressStartPoint: Qt.point(0,0)property bool movePressed: falseMouseArea{anchors.fill: parentcursorShape: Qt.OpenHandCursoracceptedButtons: Qt.LeftButtonhoverEnabled: trueonPressed:(mouse)=> {if(mouse.button === Qt.LeftButton){movePressStartPoint.x = mouseXmovePressStartPoint.y = mouseYmovePressed = true}}onReleased: (mouse)=> {if(mouse.button === Qt.LeftButton){movePressed = false;}}onMouseXChanged: {if(!movePressed)returnvar x = root.x + mouseX - movePressStartPoint.xroot.x = x}onMouseYChanged: {if(!movePressed)returnvar y = root.y + mouseY - movePressStartPoint.yroot.y = y}}
}

版权声明:

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

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