Spec-Zone.ru › Qt 5.15

Класс 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

Это свойство содержит значение, определяющее, является ли флажок флажком со тремя состояниями.

По умолчанию значение false, т.е. флажок имеет только два состояния.

Функции доступа:

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.15/qcheckbox.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API