Qt想要个性化设计离不开标题栏。
像是网易云音乐,各种浏览器
这种就是需要自定义标题栏。
最近项目用到了自定义标题栏
自定义标题栏分为几个步骤:
1.隐藏QT自身的标题栏
2.用一个QWidget充当标题栏,在QWidget里面放置你想要的功能控件
3.在QWidget的基础上加入最基本的控件:最大化按钮,最小化按钮,退出按钮。并完成对应的信号与槽
4.最最重要的就是重写鼠标信号,在QWidget处设置事件过滤器,重写事件函数,根据事件类型实现自己的功能:较为基础的:双击最大化,双击最小化,窗口跟随移动,最大化情况下拖动取消最大化并窗口跟随移动。还有就是因为自定义标题栏的原因,窗体本身的拉伸窗口没了,这个需要重写,个人感觉难度较大,下次攻克了发一篇这个的文章。
QT窗体最大化: this->showMaximized();
窗体最大化的时候不要resize,这个是固定窗体大小的。
QT窗体退出最大化: this->showNormal();
QT窗体退出: this->close();
QT隐藏标题栏:
setWindowFlags (Qt::CustomizeWindowHint)
setWindowFlags (Q