Checkbox
A native check control with checked, unchecked and mixed states.
Loading preview…
Live C++Source and licences
#include <QApplication>
#include <QFile>
#include <QHBoxLayout>
#include <QLabel>
#include <QPainter>
#include <QStandardItemModel>
#include <QUrl>
#include <QVBoxLayout>
#include <array>
#ifdef SHADCN_GALLERY_MEDIA
#include <shadcn/media.hpp>
#endif
#include <shadcn/shadcn.hpp>
QWidget* example(QWidget* parent = nullptr) {
using namespace shadcn;
auto* canvas = new QWidget(parent);
canvas->setAutoFillBackground(true);
auto* outer = new QHBoxLayout(canvas);
outer->setContentsMargins(32, 32, 32, 32);
auto* host = new QWidget(canvas);
auto* layout = new QVBoxLayout(host);
layout->setContentsMargins(0, 0, 0, 0);
layout->setSpacing(16);
outer->addStretch();
outer->addWidget(host, 0, Qt::AlignCenter);
outer->addStretch();
auto* check = new Checkbox("Accept terms and conditions", host);
check->setChecked(true);
layout->addWidget(check);
return canvas;
}
Installation
- Source
- Installed package
add_subdirectory(shadcn-cpp)
target_link_libraries(app PRIVATE shadcn::widgets)
find_package(shadcn CONFIG REQUIRED)
target_link_libraries(app PRIVATE shadcn::widgets)
Usage
#include <shadcn/widgets.hpp>
shadcn::Checkbox complete("Mark complete", parent);
complete.setTristate(true);
complete.setCheckState(Qt::PartiallyChecked);
complete.setInvalid(false);
Use the inherited toggled, stateChanged or checkStateChanged signals for updates.
API
setInvalid changes the visual state. The native class keeps Qt's check state, tristate behavior and button signals.
Keyboard and accessibility
Space toggles the control. The visible text supplies the accessible name. Use the mixed state only when the application needs to represent a partial selection.