QT程序去掉標題欄邊框:
在構造函數裏面添加
setWindowFlags(Qt::FramelessWindowHint); //去除邊框
this->setAttribute(Qt::WA_TranslucentBackground); //透明設置
QT程序去掉標題欄後我又哭了,因爲它不能移動了,這就有點操蛋了,於是我就百度了一下,參照了別人的做法,最後實現了無標題欄窗口的移動,順便記錄下來。具體方法如下:
(1)在頭文件中添加如下代碼:
include
{
protected:
void mousePressEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseEvent *e);
private:
QPoint last;
}
(2)在.cpp文件中重寫鼠標的這三個函數:
void Gigdialog::mousePressEvent(QMouseEvent *e)
{
last=e->globalPos();
}
void Gigdialog::mouseMoveEvent(QMouseEvent *e)
{
int dx = e->globalX() - last.x();
int dy = e->globalY() - last.y();
last = e->globalPos();
move(x()+dx, y()+dy);
}
void Gigdialog::mouseReleaseEvent(QMouseEvent *e)
{
int dx = e->globalX() - last.x();
int dy = e->globalY() - last.y();
move(x()+dx, y()+dy);
}
(3)這樣沒有標題欄的窗體就能移動啦!