首先可以使用setWindowFlags(Qt::FramelessWindowHint); 来隐藏窗体的标题栏, 当然也包括了默认的系统按钮.
然后在可以通过代码或者Qt的Designer在窗体右上角摆放好最小化, 最大化(还原), 和关闭三个按钮并关联好信号槽. 分别设置三个按钮的QSS
QToolButton#toolButtonMin{
border-image: url(:/images/min(1).png);
}
QToolButton#toolButtonMin:hover{
border-image: url(:/images/min(3).png);
}
QToolButton#toolButtonMin:pressed{
border-image: url(:/images/min.png);
}
最大化和还原按钮其实一个, 需要根据窗体的最大化/恢复状态来进行切换 qss中根据最大化属性来进行不同图片的加载
QToolButton#toolButtonMax[maximizeProperty="maximize"]{
border-image: url(:/images/max(1).png);
}
QToolButton#toolButtonMax[maximizeProperty="maximize"]:hover{
border-image: url(:/images/max(3).png);
}
QToolButton#toolButtonMax[maximizeProperty="maximize"]:pressed{
border-image: