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 

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


免责声明!

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



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