Класс QCheckBox
Виджет QCheckBox предоставляет флажок с текстовой меткой. Подробнее...
| Заголовок: | #include <QCheckBox> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QAbstractButton |
Свойства
- tristate : bool
Открытые функции
| QCheckBox(const QString &text, QWidget *parent = nullptr) | |
| QCheckBox(QWidget *parent = nullptr) | |
| virtual | ~QCheckBox() |
| Qt::CheckState | checkState() const |
| bool | isTristate() const |
| void | setCheckState(Qt::CheckState state) |
| void | setTristate(bool y = true) |
Переопределённые открытые функции
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
Сигналы
| void | stateChanged(int state) |
Защищённые функции
| virtual void | initStyleOption(QStyleOptionButton *option) const |
Переопределённые защищённые функции
| virtual void | checkStateSet() override |
| virtual bool | event(QEvent *e) override |
| virtual bool | hitButton(const QPoint &pos) const override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | nextCheckState() override |
| virtual void | paintEvent(QPaintEvent *) override |
Подробное описание
QCheckBox — это кнопка выбора, которую можно переключать (отмеченная) или выключать (неотмеченная). Флажки обычно используются для представления функций в приложении, которые можно включить или отключить, не затрагивая другие. Можно реализовать различные типы поведения. Например, QButtonGroup можно использовать для логического группирования кнопок выбора, позволяя использовать эксклюзивные флажки. Однако QButtonGroup не предоставляет никакого визуального представления.
На рисунке ниже показаны различия между эксклюзивными и неэксклюзивными флажками.
Всякий раз, когда флажок выбирается или очищается, генерируется сигнал stateChanged(). Подключитесь к этому сигналу, если хотите выполнить действие каждый раз, когда состояние флажка изменяется. Вы можете использовать isChecked(), чтобы узнать, выбран флажок или нет.
В дополнение к обычным состояниям «выбран» и «не выбран», QCheckBox необязательно предоставляет третье состояние для указания «без изменений». Это полезно, когда нужно предоставить пользователю возможность не выбирать и не отключать флажок. Если вам нужно это третье состояние, включите его с помощью setTristate() и используйте checkState(), чтобы получить текущее состояние переключателя.
Как и QPushButton, флажок отображает текст и, необязательно, небольшой значок. Значок устанавливается с помощью setIcon(). Текст можно установить в конструкторе или с помощью setText(). Краткую клавишу можно указать, добавив амперсанд перед предпочтительным символом. Например:
QCheckBox *checkbox = new QCheckBox("C&ase sensitive", this); В этом примере сочетанием клавиш является Alt+A. Подробную информацию см. в документации QShortcut. Чтобы отобразить фактический амперсанд, используйте '&&'.
Важные наследуемые функции: text(), setText(), text(), pixmap(), setPixmap(), accel(), setAccel(), isToggleButton(), setDown(), isDown(), isOn(), checkState(), autoRepeat(), isExclusiveToggle(), group(), setAutoRepeat(), toggle(), pressed(), released(), clicked(), toggled(), checkState() и stateChanged().
См. также QAbstractButton, QRadioButton и Руководство по разработке графического интерфейса пользователя: Флажок.
Документация по свойствам
tristate : bool
Это свойство указывает, является ли флажок флажком со тремя состояниями.
По умолчанию значение ложь, т.е. флажок имеет только два состояния.
Функции доступа:
| bool | isTristate() const |
| void | setTristate(bool y = true) |
Документация по членам-функциям
QCheckBox::QCheckBox(const QString &text, QWidget *parent = nullptr)
Конструктор флажка с заданным parent и text.
parent передаётся конструктору QAbstractButton.
QCheckBox::QCheckBox(QWidget *parent = nullptr)
Конструктор флажка с заданным parent, но без текста.
parent передаётся конструктору QAbstractButton.
[signal] void QCheckBox::stateChanged(int state)
Этот сигнал генерируется всякий раз, когда состояние флажка изменяется, т.е. когда пользователь его выбирает или сбрасывает.
state содержит новое состояние флажка Qt::CheckState.
[virtual] QCheckBox::~QCheckBox()
Деструктор.
Qt::CheckState QCheckBox::checkState() const
Возвращает состояние флажка. Если вам не нужна поддержка три состояния, вы также можете использовать QAbstractButton::isChecked(), которая возвращает булево значение.
См. также setCheckState() и Qt::CheckState.
[override virtual protected] void QCheckBox::checkStateSet()
Переопределяет: QAbstractButton::checkStateSet().
[override virtual protected] bool QCheckBox::event(QEvent *e)
Переопределяет: QAbstractButton::event(QEvent *e).
[override virtual protected] bool QCheckBox::hitButton(const QPoint &pos) const
Переопределяет: QAbstractButton::hitButton(const QPoint &pos) const.
[virtual protected] void QCheckBox::initStyleOption(QStyleOptionButton *option) const
Инициализирует option значениями из этого QCheckBox. Этот метод полезен для подклассов, которые требуют QStyleOptionButton, но не хотят заполнять всю информацию сами.
См. также QStyleOption::initFrom().
[override virtual] QSize QCheckBox::minimumSizeHint() const
Переопределяет функцию доступа к свойству: QWidget::minimumSizeHint.
[override virtual protected] void QCheckBox::mouseMoveEvent(QMouseEvent *e)
Переопределяет: QAbstractButton::mouseMoveEvent(QMouseEvent *e).
[override virtual protected] void QCheckBox::nextCheckState()
Переопределяет: QAbstractButton::nextCheckState().
[override virtual protected] void QCheckBox::paintEvent(QPaintEvent *)
Переопределяет: QAbstractButton::paintEvent(QPaintEvent *e).
void QCheckBox::setCheckState(Qt::CheckState state)
Устанавливает состояние выбора чекбокса в state. Если вам не требуется поддержка три-состояний, вы можете также использовать QAbstractButton::setChecked(), который принимает булево значение.
См. также checkState() и Qt::CheckState.
[override virtual] QSize QCheckBox::sizeHint() const
Переопределяет функцию доступа к свойству: QWidget::sizeHint.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qcheckbox.html