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 

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

猜你喜欢

转载自www.cnblogs.com/alex-space/p/13367674.html
今日推荐