首页 > 移动平台 > 详细

QT窗口拖拽移动

时间:2020-05-13 14:57:11      阅读:78      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 添加鼠标点击事件

   void mouseMoveEvent(QMouseEvent *event);
   void mousePressEvent(QMouseEvent *event);
  QPoint m_startPoint;
  QPoint m_windowPoint;

头文件
#include <QtWidgets/QWidget>
#include <QMouseEvent>

技术分享图片

 

 判断是否点击移动

void MainWindow::mousePressEvent(QMouseEvent *event)//窗口移动事件
{

    //当鼠标左键点击时.
      if (event->button() == Qt::LeftButton)
      {
          m_move = true;
          //记录鼠标的世界坐标.
          m_startPoint = event->globalPos();
          //记录窗体的世界坐标.
          m_windowPoint = this->frameGeometry().topLeft();
      }
void MainWindow::mouseMoveEvent(QMouseEvent *event)//窗口移动事件
{
    if (event->buttons() & Qt::LeftButton)
      {
          //移动中的鼠标位置相对于初始位置的相对位置.
          QPoint relativePos = event->globalPos() - m_startPoint;
          //然后移动窗体即可.
          this->move(m_windowPoint + relativePos );
      }

}
}

QT窗口拖拽移动

原文:https://www.cnblogs.com/suiyi78/p/12882227.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!