QML 自定義Button樣式,實現按鈕三態切換
阿新 • • 發佈:2019-02-04
初學QML的時候,遇到了一些問題,參考這篇文章,實現了按鈕的正常、滑鼠經過和滑鼠按下的圖片切換。遇到了一些問題,比如背景色有白邊,設定圖片大小不生效。嘗試了幾種方法後,還是發現原來的方法比較好。記錄一下自己改良後的程式碼:
import QtQuick 2.0
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
Button
{
id: root_Button
property string nomerPic: "qrc:/images/login_normal.png"
property string hoverPic: "qrc:/images/login_hover.png"
property string pressPic: "qrc:/images/login_pressed.png"
style: ButtonStyle {
background:Rectangle{
implicitHeight: root_Button.height
implicitWidth: root_Button.width
color: "transparent" //設定背景透明,否則會出現預設的白色背景
BorderImage{
anchors.fill: parent
source: control.hovered ? (control.pressed ? pressPic : hoverPic) : nomerPic;
}
}
}
}