Spec-Zone.ru › Qt 6.1

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

Это свойство указывает, является ли флажок флажком с тремя состояниями

По умолчанию 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.

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

Spec-Zone.ru

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