QPushButton的美化无非是三态 以及 背景+文字的那种
1三态
在mouseEnter mouseLeave和mousePress mouseRelease里面设置标记变量同时调用 update()
在PaintEvent里面根据标记来DrawPixmap这个不多说
如果pixmap大小不对,可能要scaled一下
2QStyleSheet 变换背景颜色和文字
QPushButton
{
//文字颜色白色
color:white;
//背景是线性渐变
background:qlineargradient(x1:0.5, y1:0, x2:0.5, y2:1,stop:0 rgb(55,170,42), stop: 1 rgb(0,141,0));
//边界1像素 solid rgb(x,x,x)
border: 1px solid rgb(42,161,31);
}
qlineargradient(x1:0.5, y1:0, x2:0.5, y2:1,stop:0 rgb(55,170,42), stop: 1 rgb(0,141,0));
由起始点和终点组成。坐标(x1 y1) (x2 y2)坐标值从0-1 会自动映射到实际的坐标值,0,0左上,1,1右下
x1:0.5, y1:0上面中间
x2:0.5, y2:1下面中间
stop:0 rgb(55,170,42) 在0点时的颜色是 rgb(55,170,42)
stop: 1 rgb(0,141,0)) 在1点时的颜色是 rgb(0,141,0)
中间其实还可以加 stop:0.5 yellow就是在0.5时的颜色是黄色。颜色慢慢渐变