我是qt新手,自己写的自定义标题栏,仅供参考
胜在简单易懂
实现 关闭 title 移动 三个功能
首先在.cpp文件中
this->setWindowFlags(Qt::FramelessWindowHint);
取消原先的标题栏
关闭和title结构简单
在一个布局中创建label和pushbutton,然后中间加一个弹簧
然后将pushbutton和widget::close进行槽函数的链接即可
拖拽窗口
.h文件
    bool m_dragging=false;
     QPoint m_dragStarPos;
.cpp文件
void mousePressEvent(QMouseEvent *event)
 {
 //鼠标的y是距离this上边的距离,所以鼠标的y<this的gao减去主界面的高即可
     if(event->button()==Qt::LeftButton && event->pos().y()<(this->height()-widget2->height()))
     {
         m_dragging=true;
         m_dragStarPos=event->pos();
     }
 }
 void mouseMoveEvent(QMouseEvent *event)
 {
     if(m_dragging==true)
     {
         this->move(event->globalPos()-m_dragStarPos);
     }
 }
 void mouseReleaseEvent(QMouseEvent *event)
 {
     if(event->button()==Qt::LeftButton)
     {
         m_dragging=false;
     }
 }
其他的结构简单,直接使用即可