Flat風格的Qml單選/複選按鈕
- 2019 年 11 月 24 日
- 筆記
使用Qml的RadioButton與CheckBox控件修改而成。

單選按鈕
- RadioButton代碼
import QtQuick 2.0 import QtQuick.Controls 2.0 RadioButton { id: root property color checkedColor: "#0ACF97" text: qsTr("RadioButton") indicator: Rectangle { x: root.leftPadding anchors.verticalCenter: parent.verticalCenter width: 26; height: width antialiasing: true radius: width/2 border.width: 2 border.color: root.checkedColor Rectangle { anchors.centerIn: parent width: parent.width*0.7; height: width antialiasing: true radius: width/2 color: root.checkedColor visible: root.checked } } }
- RadioButton樣式代碼
GridLayout { width: root.width rows: 5 Repeater { model: ["#727CF5", "#0ACF97", "#F9375E", "#FFBC00", "#2B99B9"] Column { spacing: 15 RadioButton { text: "Radio Button 1" checked: true checkedColor: modelData } RadioButton { text: "Radio Button 2" checkedColor: modelData } RadioButton { text: "Radio Button 3" checkedColor: modelData } } } }
複選按鈕
- CheckBox代碼
import QtQuick 2.0 import QtQuick.Controls 2.0 CheckBox { id: root property color checkedColor: "#0ACF97" text: qsTr("CheckBox") indicator: Rectangle { x: root.leftPadding anchors.verticalCenter: parent.verticalCenter width: 26; height: width antialiasing: true radius: 5 border.width: 2 border.color: root.checkedColor Rectangle { anchors.centerIn: parent width: parent.width*0.7; height: width antialiasing: true radius: parent.radius * 0.7 color: root.checkedColor visible: root.checked } } }
- CheckBox樣式源碼
GridLayout { width: root.width rows: 5 Repeater { model: ["#727CF5", "#0ACF97", "#F9375E", "#FFBC00", "#2B99B9"] Column { spacing: 15 CheckBox { text: "Check Button 1" checked: true checkedColor: modelData } CheckBox { text: "Check Button 2" checkedColor: modelData } CheckBox { text: "Check Button 3" checkedColor: modelData } } } }