当前位置: 代码迷 >> QT开发 >> Qt 隐藏标题栏 实现界面拖动及放大缩小的有关问题
  详细解决方案

Qt 隐藏标题栏 实现界面拖动及放大缩小的有关问题

热度:95   发布时间:2016-04-25 04:01:01.0
Qt 隐藏标题栏 实现界面拖动及放大缩小的问题
我想用Qt实现一个类似QQ的界面,但隐藏掉标题栏后怎么实现拖动和放大缩小的功能,类似QQ那样的,急求,先谢谢各位了。

------解决方案--------------------
参考下面的帖子,说的挺全面的。
http://www.devbean.net/2011/10/custom-qt-titlebar/
http://qt-project.org/faq/answer/how_can_i_handle_events_in_the_titlebar_and_change_its_color_etc

引用:
我想用Qt实现一个类似QQ的界面,但隐藏掉标题栏后怎么实现拖动和放大缩小的功能,类似QQ那样的,急求,先谢谢各位了。

------解决方案--------------------
http://bbs.csdn.net/topics/390400118

我这个是处理拉伸的,清除标题栏这个比较常见到处都是。
和上面发的有些不同的是,我这个方法直接利用win32消息系统完成,不需要自己处理那么多东西。
------解决方案--------------------
QPoint oldPos;
     bool press;
 

void mousePressEvent(QMouseEvent *event)
 {
     if(event->button() == Qt::LeftButton)
     {
         oldPos = event->globalPos();
         press = true;
     }
 }
 
void mouseMoveEvent(QMouseEvent *event)
 {
     if (press)
     {
         this->move(this->pos() + event->globalPos() - oldPos);
         oldPos = event->globalPos();
     }
 }
 
void mouseReleaseEvent(QMouseEvent *event)
 {
     press = false;
 } 
  相关解决方案