QT实现界面任意位置拖拽-最简单方法


需求:

鼠标左键点击界面任意位置可拖动界面。

方法:

重写两个事件即可,代码如下:

头文件中加入:
protected
: void mousePressEvent(QMouseEvent *e); void mouseMoveEvent(QMouseEvent *e);
源文件中实现:
void MainWindow::mousePressEvent(QMouseEvent *e)
{
    if (e->button() == Qt::LeftButton) {
        m_point = e->globalPos() - pos();
        e->accept();
    }
}

void MainWindow::mouseMoveEvent(QMouseEvent *e)
{
    if (e->buttons() & Qt::LeftButton) {
        move(e->globalPos() - m_point);
        e->accept();
    }
}

打包:

http://pan.baidu.com/s/1nuWzcF3


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM