最近公司在做一個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了,去掉窗口標題欄後還能拖動窗體