• 5532阅读
  • 4回复

[提问]点击窗口任意位置移动窗口 [复制链接]

上一主题 下一主题
离线magicjeremia
 
只看楼主 倒序阅读 楼主  发表于: 2011-09-29
RT

就是拖动窗口任意一个位置  都能达到像拖动标题栏那样移动窗口

(注:只有一个QMainWindow)
离线magicjeremia
只看该作者 1楼 发表于: 2011-09-29
这样该怎么做呢?
离线jdwx

只看该作者 2楼 发表于: 2011-09-29
回 1楼(magicjeremia) 的帖子
void MainWindow::mousePressEvent(QMouseEvent *e)
{
    if(e->button() == Qt::LeftButton)
    {        
        m_mousePoint=e->pos();//m_mousePoint是一个QPoint类型的类变量
    }
}

void MainWindow::mouseMoveEvent(QMouseEvent *e)
{
    move(e->globalPos()-m_mousePoint);
}
重新写这两个虚函数就可以了。
你试过之后,估计最后还是要限定鼠标点哪个区域才可以move窗口。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线roywillow

只看该作者 3楼 发表于: 2011-09-29
另外就是使用系统api
我记得windows下可以向系统发送一个消息来实现
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线ncj168
只看该作者 4楼 发表于: 2011-09-29
记得windows下可以向系统发送一个消息来实现
快速回复
限100 字节
 
上一个 下一个