Qt中设置界面样式的方式是使用styleSheet。比如设置一个对话框的背景颜色为蓝色,可以设置styleSheet属性为“background-color:#0000FF"。还有许多其它的界面样式可以使用styleSheet。这种方式的能力还是很强的,但也有一些不足,比如说比较复杂,还要学习类似于CSS的东西。除了复杂,它还有一些不尽如人意的地方,会有一些莫名其妙的行为。比如说,设置完对话框的背景色之后,发现对话框上面的按钮突然变成Windows98风格的了,非常丑。
怎么办,对话框的背景色肯定要换的,不换也是丑,网上找到了一种解决办法,解铃还需系铃人,styleSheet弄出来的事,还要靠styleSheet来解决。解决方法是把按钮的styleSheet设置如下。
按钮正常时:
#pushButton{
background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(214, 214, 214, 255), stop:0.5 rgba(236, 236, 236, 255));
border: 1px solid rgb(124, 124, 124);
border-radius:5px;
}
鼠标经过按钮时:
#pushButton:hover{
background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(181, 225, 250, 255), stop:0.5 rgba(222, 242, 251, 255)