Элемент CheckBox представляет флажок, который может быть в отмеченном или неотмеченном состоянии. Тип CheckBox наследует большую часть
функционала от типа AbstractButton
, в частности, свойство checked, которое указывает, отмечен ли флажок (значение true
) или нет
(false
)
Например, определим несколько флажков:
import QtQuick import QtQuick.Controls Window { width: 250 height: 200 visible: true title: "METANIT.COM" Column { CheckBox { checked: true // флажок отмечен text: "С++" } CheckBox { text: "Java" } CheckBox { checked: true // флажок отмечен text: "JavaScript" } } }
Тип CheckBox добавляет к унаследованному функционалу несколько свойств. В частности, с помощью свойства tristate можно указать,
что флажок может поддерживать не два, а три состояния: отмеченное, неотмеченное и частично отмеченное. По умолчанию это свойство равно false
, что значит, что флажок поддерживает только два станлартных состояния.
Еще одно свойство - checkState позволяет установить одно из трех состояний:
Qt.Unchecked
(неотмечен)
Qt.PartiallyChecked
(частично отмечен)
Qt.Checked
(отмечен)
Применение:
import QtQuick import QtQuick.Controls Window { width: 250 height: 200 visible: true title: "METANIT.COM" Column { CheckBox { tristate: true checkState: Qt.Checked text: "С++" } CheckBox { tristate: true checkState: Qt.PartiallyChecked text: "Java" } CheckBox { tristate: true checkState: Qt.Unchecked text: "JavaScript" } } }
Нажимая на флажок, мы будем переводить его в одно из трех состояний:
Для стилизации флажков можно использовать унаследованные от AbstractButton возможности. Например, для установки шрифта применяется свойство font и его вложенные свойства:
font.bold: представляет тип bool
и устанавливает, будет ли текст выделяться жирным
font.capitalization: устанавливает, будет ли текст содержать заглавные буквы
font.family: представляет тип string
и устанавливает используемое семейство шрифтов
font.italic: представляет тип bool
и устанавливает курсив текста
font.letterSpacing: представляет тип real
и устанавливает пространство между символами
font.pixelSize: представляет тип int
и устанавливает размер шрифта в пикселях
font.pointSize: представляет тип real
и устанавливает размер шрифта в точках
font.strikeout: представляет тип bool
и устанавливает, будет ли текст зачеркнут
font.styleName: представляет тип string
и устанавливает имя стиля шрифта
font.underline: представляет тип bool
и устанавливает, будет ли текст подчеркнут
font.overline: представляет тип bool
и устанавливает, будет ли текст надчеркнут
font.weight: представляет тип int
и устанавливает вес шрифта
font.wordSpacing: представляет тип real
и устанавливает пространство между словами
Например, установка шрифта:
import QtQuick import QtQuick.Controls Window { width: 250 height: 200 visible: true title: "METANIT.COM" Column { CheckBox { checked: true // флажок отмечен font {family: "Verdana"; pixelSize:16} text: "С++" } CheckBox { font {family: "Verdana"; pixelSize:16} text: "Java" } CheckBox { font {family: "Verdana"; pixelSize:16} checked: true // флажок отмечен text: "JavaScript" } } }