Skip to content

Component catalog

All 66 Python widgets are importable from either shadcn_qt or shadcn_qt.widgets. The catalog follows the current shadcn/ui component index while translating browser-only primitives into native Qt behavior.

AreaComponentsQt mapping
Actions and formsButton, ButtonGroup, Toggle, ToggleGroup, Input, InputGroup, InputOTP, TextArea, Checkbox, RadioButton, RadioGroup, Switch, Select, NativeSelect, Combobox, DatePicker, Slider, Field, LabelQPushButton/QToolButton and native Qt editors/groups
Layout and disclosureAccordion, AspectRatio, Card, Carousel, Collapsible, Direction, Resizable, ScrollArea, Separator, Sidebar, TabPane, TabsQFrame, QSplitter, QScrollArea, and QTabWidget composition
Dialogs and feedbackAlert, AlertDialog, Dialog, Drawer, HoverCard, Popover, Sheet, Sonner, Toast, TooltipQDialog/QFrame/QMenu-style native popup behavior
Navigation and menusBreadcrumb, Command, ContextMenu, DropdownMenu, Menubar, NavigationMenu, PaginationQt menus, list filtering, and composed navigation controls
Data and contentAvatar, Badge, Calendar, Chart, DataTable, Empty, Item, Kbd, Progress, Skeleton, Spinner, Table, TypographyNative item models, Qt painting, views, labels, and progress controls
ConversationAttachment, Bubble, Marker, Message, MessageScrollerQt-native composition for the current shadcn chat components

These are Qt-native subclasses: existing signals, slots, models, accessibility metadata, layouts, and test tools continue to work.

All components inherit the classic new-york geometry and state contract with the Zinc light/dark palette. Checkbox, radio, switch, avatar, spinner, and other glyph-sensitive controls use Qt painting where QSS cannot express the official shape. Dialogs, sheets, popovers, and toasts use Qt-native shadows and property animations. See the visual baseline.

Preview and interact with the complete catalog from a source checkout:

bash
python examples/python_gallery/run.py

The gallery includes category navigation, component search, light/dark theme switching, and interactive overlay, menu, tooltip, and notification examples. Use --component DataTable --theme dark to open a specific preview directly.

Chart deliberately uses QPainter for a zero-dependency line/bar baseline. Direction applies Qt layout direction recursively through normal QWidget inheritance. Compound components expose Python composition methods such as Accordion.addItem(), Dialog.addWidget(), Command.setItems(), and DataTable.setRows().