Fluent Controls¶
Custom UI controls following Windows 11 Fluent Design. All controls use QPainter-drawn rendering (not native styling) and support palette-based theming.
Controls¶
| Widget | Replaces | Key Feature |
|---|---|---|
FluentCheckBox |
QCheckBox | Animated checkmark, tristate support |
FluentComboBox |
QComboBox | Fully custom widget, display_mode property |
FluentContextMenu |
QMenu | Frameless popup with pill-shaped highlights. Mandatory per project rules |
FluentLineEdit |
QLineEdit | display_mode toggles between editable and label-like appearance |
FluentSpinBox / FluentDoubleSpinBox |
QSpinBox | Composite widget, same public API |
FluentTextEdit |
QTextEdit | display_mode property, mirrors FluentLineEdit API |
FluentToolTip |
QToolTip | Frameless popup with rounded rect and shadow |
HoldToConfirmButton |
QPushButton | Hold-to-confirm for destructive actions, emits confirmed signal |
ModernToggle |
-- | Animated toggle switch with pulse effect |
ScalableProxyContainer |
-- | QGraphicsView wrapper that scales content to available width |
SmartBackButton |
QPushButton | Tracks navigation history across stacked widgets |
display_mode Pattern¶
FluentComboBox, FluentLineEdit, and FluentTextEdit share a display_mode property:
- Edit mode: Rounded border, hover/focus accent color, full interaction
- Display mode: Transparent background, read-only, label-like appearance (no greying out)
Usage Rules¶
- Context menus: Always use
FluentContextMenu, neverQMenu - Tooltips: Use sparingly, only when truly beneficial
- Object names: Set
.setObjectName()on every control for external stylesheet targeting