Qt使用styleSheet製作XP風格的按鈕

        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));
  border-radius:5px;
  border: 1px solid #3C80B1;  
}
按鈕被按下時:

#pushButton:pressed{
  background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(134, 198, 233, 255), stop:0.5 rgba(206, 234, 248, 255));
  border-radius:5px;
  border: 1px solid #5F92B2;  
}
        也就是把XP風格的按鈕按原樣扒下來,再用styleSheet來表示出來,在這裏對做這項工作的作者致以由衷的敬意。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章