我是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;
}
}
其他的结构简单,直接使用即可