程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Qt去掉窗口的標題欄和去掉標題欄後移動窗口

Qt去掉窗口的標題欄和去掉標題欄後移動窗口

編輯:C++入門知識

最近公司在做一個C++項目,功能做的差不多了,現在是界面方面修改,要想做出好看的界面,標題欄是個問題,所以我選擇把標題欄去掉,去掉標題欄方法比較簡單,就一行代碼 this->setWindowFlags(Qt::FramelessWindowHint); 去掉以後又發現一個問題,就是不能移動窗口了,於是我就重寫了三個鼠標事件,大致代碼如下 .h文件的代碼: #include <QMouseEvent>   protected:     void mousePressEvent(QMouseEvent *e);     void mouseMoveEvent(QMouseEvent *e);     void mouseReleaseEvent(QMouseEvent *e); http://www.bcwhy.com/thread-17852-1-1.html private:     QPoint last; .cpp文件的代碼 //可以在構造函數中初始一下last變量用其成員函數setX,setY就是了 //接下來就是對三個鼠標事件的重寫 void MainWindow::mousePressEvent(QMouseEvent *e) {     last = e->globalPos(); }   void MainWindow::mouseMoveEvent(QMouseEvent *e) {www.2cto.com     int dx = e->globalX() - last.x();     int dy = e->globalY() - last.y();       last = e->globalPos();     move(x()+dx, y()+dy); }   void MainWindow::mouseReleaseEvent(QMouseEvent *e) {     int dx = e->globalX() - last.x();     int dy = e->globalY() - last.y();       move(x()+dx, y()+dy); } 復制過去用的時候記得把類名改掉哦~ 這樣就OK了,去掉窗口標題欄後還能拖動窗體

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved