QPoint m_StartPoint; //鼠标按下起点
bool m_bMousePress; //按下鼠标左键

void CMyUpdateDlg::mouseMoveEvent(QMouseEvent *event)
{
    //移动窗口
    if (m_bMousePress)
    {
        QPoint curPoint = event->globalPos();   //按住移动时的位置
        QPoint movePoint = curPoint - m_StartPoint;

     //普通窗口 QPoint mainWinPos
= this->pos(); this->move(mainWinPos.x() + movePoint.x(), mainWinPos.y() + movePoint.y());

     //标题栏
     QPoint mainWinPos = QPoint(parentWidget()->x(), parentWidget()->y());
     QPoint pos = mainWinPos + movePoint;
     parentWidget()->move(pos);
m_StartPoint
= curPoint; } } void CMyUpdateDlg::mousePressEvent(QMouseEvent * event) { //只能是鼠标左键移动和改变大小 if (event->button() == Qt::LeftButton) { m_bMousePress = true; } //按下时鼠标左键时,窗口在屏幕中的坐标 m_StartPoint = event->globalPos(); } void CMyUpdateDlg::mouseReleaseEvent(QMouseEvent * event) { m_bMousePress = false; }

 

相关文章:

  • 2022-12-23
  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
  • 2021-09-15
  • 2022-12-23
  • 2021-08-22
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-07
  • 2021-12-07
  • 2022-12-23
  • 2021-12-22
相关资源
相似解决方案