Флажок CheckBox

Последнее обновление: 23.12.2023

Элемент 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 в QML и Qt

Тип 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"
        }
    }
}

Нажимая на флажок, мы будем переводить его в одно из трех состояний:

Состояние флажка CheckBox в QML и Qt

Стилизация

Для стилизации флажков можно использовать унаследованные от 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"
        }
    }
}
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850