QT:标题栏隐藏图标和隐藏后移动窗口

Posted alex-space

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT:标题栏隐藏图标和隐藏后移动窗口相关的知识,希望对你有一定的参考价值。

QT Creator5.9.9 –标题隐藏记录。

当窗口作为子部件的时候,标题栏是不会显示的,此处是主窗体的标题栏隐藏方法。

隐藏方法:

setWindowFlags( Qt::FramelessWindowHint);

但是这个属性设置后,窗口就无法移动了,要想通过鼠标移动窗口,需要自己实现。

实现方法:重写鼠标移动和鼠标点击事件。

globalPos();是获得屏幕的坐标,根据点击时的坐标与移动时的坐标差值,计算移动位置。

  1 void FiveChess::mousePressEvent(QMouseEvent *e) // 鼠标点击事件
  2 {
  3 	lastPos = e->globalPos();
  4 }
  5 void FiveChess::mouseMoveEvent(QMouseEvent *e) // 鼠标移动事件
  6 {
  7 	int xLen = e->globalX() - lastPos.x();
  8 	int yLen = e->globalY() - lastPos.y();
  9 	lastPos = e->globalPos();
 10 	move(x()+xLen, y()+yLen); // 移动窗口
 11 }
 12 

实现两个接口后,鼠标按住窗口非子部件位置就可以拖动窗口啦。

以上是关于QT:标题栏隐藏图标和隐藏后移动窗口的主要内容,如果未能解决你的问题,请参考以下文章

Qt 隐藏标题栏 窗口移动 鼠标事件

Qt隐藏了窗口标题栏后,我想通过鼠标移动窗口到其他地方,应该怎么实现呀?急需,谢谢……

(C#)Winform 关于隐藏标题栏后的问题

Qt-网易云音乐界面实现-1 窗口隐藏拖拽移动,自定义标题栏

Qt自定义界面边框后,移动鼠标拖动界面,界面会拖到任务栏以下。。。如何解决?

Qt 单击任务栏图标实现最小化