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