Класс QCheckBox
Виджет QCheckBox предоставляет флажок с текстовой меткой. Подробнее...
| Заголовок: | #include <QCheckBox> |
| 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) |
Защищенные функции
| 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.
[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-5.14/qcheckbox.html