多路h265监控录放开发-(1)建立head窗口并实现鼠标拖动整个窗口

头文件:

 //鼠标事件 用于拖动窗口
    //一下三个函数都是QWidget的可重载成员函数
    void mouseMoveEvent(QMouseEvent* ev) override;
    void mousePressEvent(QMouseEvent* ev) override;
    void mouseReleaseEvent(QMouseEvent* ev) override;

源文件:


/
/// 鼠标拖动窗口

static bool mouse_press = false;
static QPoint mouse_point;//鼠标的坐标
void XViewer::mouseMoveEvent(QMouseEvent* ev)
{
    if (!mouse_press)
    {
        QWidget::mouseMoveEvent(ev);
        return;
    }
    this->move(ev->globalPos() - mouse_point);//鼠标在移动的过程中执行

}
void XViewer::mousePressEvent(QMouseEvent* ev)
{
    if (ev->button() == Qt::LeftButton)//左键按下的时候
    {
        mouse_press = true;//此时可移动
        mouse_point = ev->pos();
    }
}
void XViewer::mouseReleaseEvent(QMouseEvent* ev)
{
    mouse_press = false;
}

结果表明我们可以进行移动窗口了

最近更新

  1. TCP协议是安全的吗?

    2024-06-19 00:58:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-19 00:58:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-19 00:58:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-19 00:58:03       20 阅读

热门阅读

  1. Apache网页优化

    2024-06-19 00:58:03       6 阅读
  2. 网络流量轮廓

    2024-06-19 00:58:03       4 阅读
  3. 2024年安卓开发书籍推荐,含答案解析

    2024-06-19 00:58:03       4 阅读