Fluent-Qt

Date & time

CalendarDatePicker

A drop-down calendar for picking a single date.

Example

CalendarDatePicker: Pick a date from a drop-down calendar

Usage

Pick a date from a drop-down calendar

The button opens a calendar flyout; the picked date becomes the label.

#include <FluentQt/DateTime.h>
using namespace fluent::date_time;

auto* picker = new CalendarDatePicker(this);
picker->setPlaceholderText("Pick a date");
connect(picker, &CalendarDatePicker::dateChanged,
        this, [](const QDate& date) { /* use date */ });

fluent::date_time::CalendarDatePicker

Inherits fluent::basicinput::Button

Button-like date entry that opens a CalendarView popup.

Constructors

Properties

QString placeholderText

Text shown on the button when no date has been selected.

Read placeholderText()Write setPlaceholderText()Notify placeholderTextChanged()
QDate date

Current date value displayed by the picker.

Read date()Write setDate()Notify dateChanged()
QDate minDate

Minimum date accepted by the calendar surface.

Read minDate()Write setMinDate()Notify minDateChanged()
QDate maxDate

Maximum date accepted by the calendar surface.

Read maxDate()Write setMaxDate()Notify maxDateChanged()
QLocale locale

Locale used for date text and calendar labels.

Read locale()Write setLocale()Notify localeChanged()
QString displayFormat

Date display format used by the picker button.

Read displayFormat()Write setDisplayFormat()Notify displayFormatChanged()
Qt::DayOfWeek firstDayOfWeek

First day used when laying out calendar weeks.

Read firstDayOfWeek()Write setFirstDayOfWeek()Reset resetFirstDayOfWeek()Notify firstDayOfWeekChanged()
bool calendarOpen

Whether the calendar flyout is open.

Read isCalendarOpen()Write setCalendarOpen()Notify calendarOpenChanged()

Methods

QString placeholderText() const

Text shown on the button when no date has been selected.

void setPlaceholderText(const QString& text)

Text shown on the button when no date has been selected.

QDate date() const

Current date value displayed by the picker.

void setDate(const QDate& date)

Current date value displayed by the picker.

QDate minDate() const

Minimum date accepted by the calendar surface.

void setMinDate(const QDate& date)

Minimum date accepted by the calendar surface.

QDate maxDate() const

Maximum date accepted by the calendar surface.

void setMaxDate(const QDate& date)

Maximum date accepted by the calendar surface.

QLocale locale() const

Locale used for date text and calendar labels.

void setLocale(const QLocale& locale)

Locale used for date text and calendar labels.

QString displayFormat() const

Date display format used by the picker button.

void setDisplayFormat(const QString& format)

Date display format used by the picker button.

Qt::DayOfWeek firstDayOfWeek() const

First day used when laying out calendar weeks.

void setFirstDayOfWeek(Qt::DayOfWeek day)

First day used when laying out calendar weeks.

void resetFirstDayOfWeek()

First day used when laying out calendar weeks.

bool isCalendarOpen() const

Whether the calendar flyout is open.

void setCalendarOpen(bool open)

Whether the calendar flyout is open.

Signals

void placeholderTextChanged(const QString& text)

Text shown on the button when no date has been selected.

void dateChanged(const QDate& date)

Current date value displayed by the picker.

void minDateChanged(const QDate& date)

Minimum date accepted by the calendar surface.

void maxDateChanged(const QDate& date)

Maximum date accepted by the calendar surface.

void localeChanged(const QLocale& locale)

Locale used for date text and calendar labels.

void displayFormatChanged(const QString& format)

Date display format used by the picker button.

void firstDayOfWeekChanged(Qt::DayOfWeek day)

First day used when laying out calendar weeks.

void calendarOpenChanged(bool open)

Whether the calendar flyout is open.

Destructors

Subclass interfaces

Methods

Inherited from fluent::basicinput::Button

Properties

ButtonStyle fluentStyle

Visual treatment: Standard, Accent, or Subtle.

Read fluentStyle()Write setFluentStyle()Notify fluentStyleChanged()
ButtonSize fluentSize

Density token that controls height and padding, not typography.

Read fluentSize()Write setFluentSize()Notify fluentSizeChanged()
Typography::FontRole fontRole

Fluent typography role used while the button follows theme fonts.

Read fontRole()Write setFontRole()Notify fontRoleChanged()
TextColorRole textColorRole

Semantic foreground for unfilled, unchecked buttons; filled and disabled states keep their contrast roles.

Read textColorRole()Write setTextColorRole()Notify textColorRoleChanged()
ButtonLayout fluentLayout

Content layout for text and icon placement.

Read fluentLayout()Write setFluentLayout()Notify fluentLayoutChanged()
bool focusVisual

Controls whether the focus visual frame is painted.

Read hasFocusVisual()Write setFocusVisual()Notify focusVisualChanged()
InteractionState interactionState

Overrides the interaction state for guided demos or visual checks.

Read interactionState()Write setInteractionState()Notify interactionStateChanged()
bool criticalOnHover

Uses the critical semantic color while hovered or pressed.

Read criticalOnHover()Write setCriticalOnHover()Notify criticalOnHoverChanged()
QMargins cornerRadii

Per-corner radii; left/top/right/bottom map to top-left/top-right/bottom-right/bottom-left.

Read cornerRadii()Write setCornerRadii()Reset resetCornerRadii()Notify cornerRadiiChanged()
QPoint iconOffset

Pixel offset applied to iconfont drawing; positive values move right/down.

Read iconOffset()Write setIconOffset()
qreal iconRotation

Clockwise rotation applied to the painted icon in degrees.

Read iconRotation()Write setIconRotation()
qreal iconScale

Uniform scale applied to the painted iconfont glyph (1.0 = no scaling). Drives WinUI-style press feedback (a brief scale-down) without touching geometry.

Read iconScale()Write setIconScale()
qreal contentOpacity

Painter-level opacity for the whole button surface (1.0 = fully opaque). A lightweight fade that avoids QGraphicsOpacityEffect's offscreen compositing.

Read contentOpacity()Write setContentOpacity()

Methods

ButtonStyle fluentStyle() const

Fluent property accessors.

void setFluentStyle(ButtonStyle style)

Visual treatment: Standard, Accent, or Subtle.

ButtonSize fluentSize() const

Density token that controls height and padding, not typography.

void setFluentSize(ButtonSize size)

Density token that controls height and padding, not typography.

Typography::FontRole fontRole() const

Fluent typography role used while the button follows theme fonts.

void setFontRole(Typography::FontRole role)

Fluent typography role used while the button follows theme fonts.

TextColorRole textColorRole() const

Semantic foreground for unfilled, unchecked buttons; filled and disabled states keep their contrast roles.

void setTextColorRole(TextColorRole role)

Semantic foreground for unfilled, unchecked buttons; filled and disabled states keep their contrast roles.

void setFont(const QFont& font)

Sets an explicit font that remains unchanged by later theme refreshes.

ButtonLayout fluentLayout() const

Content layout for text and icon placement.

void setFluentLayout(ButtonLayout layout)

Content layout for text and icon placement.

bool hasFocusVisual() const

Controls whether the focus visual frame is painted.

void setFocusVisual(bool focus)

Controls whether the focus visual frame is painted.

InteractionState interactionState() const

Overrides the interaction state for guided demos or visual checks.

void setInteractionState(InteractionState state)

Overrides the interaction state for guided demos or visual checks.

bool criticalOnHover() const

Uses the critical semantic color while hovered or pressed.

void setCriticalOnHover(bool enabled)

Uses the critical semantic color while hovered or pressed.

QMargins cornerRadii() const

Per-corner radii; left/top/right/bottom map to top-left/top-right/bottom-right/bottom-left.

void setCornerRadii(const QMargins& radii)

Per-corner radii; left/top/right/bottom map to top-left/top-right/bottom-right/bottom-left.

void resetCornerRadii()

Per-corner radii; left/top/right/bottom map to top-left/top-right/bottom-right/bottom-left.

QPoint iconOffset() const

Pixel offset applied to iconfont drawing; positive values move right/down.

void setIconOffset(const QPoint& offset)

Pixel offset applied to iconfont drawing; positive values move right/down.

qreal iconRotation() const

Clockwise rotation applied to the painted icon in degrees.

void setIconRotation(qreal rotation)

Clockwise rotation applied to the painted icon in degrees.

qreal iconScale() const

Uniform scale applied to the painted iconfont glyph (1.0 = no scaling). Drives WinUI-style press feedback (a brief scale-down) without touching geometry.

void setIconScale(qreal scale)

Uniform scale applied to the painted iconfont glyph (1.0 = no scaling). Drives WinUI-style press feedback (a brief scale-down) without touching geometry.

qreal contentOpacity() const

Painter-level opacity for the whole button surface (1.0 = fully opaque). A lightweight fade that avoids QGraphicsOpacityEffect's offscreen compositing.

void setContentOpacity(qreal opacity)

Painter-level opacity for the whole button surface (1.0 = fully opaque). A lightweight fade that avoids QGraphicsOpacityEffect's offscreen compositing.

QSize sizeHint() const override

Size hints include Fluent padding, text, and iconfont content.

Signals

void fluentStyleChanged()

Visual treatment: Standard, Accent, or Subtle.

void fluentSizeChanged()

Density token that controls height and padding, not typography.

void fontRoleChanged()

Fluent typography role used while the button follows theme fonts.

void textColorRoleChanged()

Semantic foreground for unfilled, unchecked buttons; filled and disabled states keep their contrast roles.

void fluentLayoutChanged()

Content layout for text and icon placement.

void focusVisualChanged()

Controls whether the focus visual frame is painted.

void interactionStateChanged()

Overrides the interaction state for guided demos or visual checks.

void criticalOnHoverChanged()

Uses the critical semantic color while hovered or pressed.

void cornerRadiiChanged()

Per-corner radii; left/top/right/bottom map to top-left/top-right/bottom-right/bottom-left.

Enumerations

enum ButtonStyle

Button visual style resolved against Fluent design tokens.

  • Standard
  • Accent
  • Subtle
enum ButtonSize

Button density presets for padding and preferred height.

  • Small
  • StandardSize
  • Large
enum ButtonLayout

Text/icon composition mode.

  • TextOnly
  • IconBefore
  • IconOnly
  • IconAfter
enum class TextColorRole

Semantic text and icon emphasis.

  • Primary
  • Secondary
  • Accent
enum InteractionState

Paint-state override used before falling back to real hover/press state.

  • Rest
  • Hover
  • Pressed
  • Disabled
Inherited from fluent::FluentElement

Methods

static void setTheme(Theme theme)

Updates the global theme and notifies active FluentElement instances.

static void setThemeDeferred(Theme theme)

Schedules a visible-first batched theme refresh without blocking the current interaction.

static Theme currentTheme()

Returns the currently active global theme.

static bool themeUsesDarkAppearance(Theme theme)

Returns whether a theme uses dark-backed chrome and material tokens.

static void refreshTheme()

Re-broadcasts the current theme to repaint after a design-token change.

static int themeGeneration()

Monotonic counter bumped on every theme change, for staleness checks.

Theme effectiveTheme() const

Resolves the theme used by this element, honoring an inherited QWidget override.

bool effectiveThemeUsesDarkAppearance() const

Returns whether this element's effective theme uses dark-backed chrome.

QJsonObject themeOverrides() const

Returns this element's authored overrides.

void clearThemeOverrides()

Restores all token fields to global theme defaults.

const Colors& themeColorsRef() const

Non-copying access to the active color set (for hot paint paths).

Material::AcrylicToken themeAcrylic() const

Material, elevation, and adaptive layout tokens.

QColor themeBackdrop(bool active) const

Window-chrome backdrop color for the given activation state.

virtual void onThemeUpdated()

Called after the global theme changes.

Enumerations

enum Theme

Global visual theme used when resolving design tokens.

  • Light = 0
  • Dark = 1
  • HighContrast = 2

Types and aliases

struct Colors

Design token snapshots returned to components.

Inherited from fluent::QMLPlus

Methods

AnchorLayout::Anchors* anchors()

Returns mutable anchors for the QWidget host.

void setState(const QString& name)

Applies a named state, or clears state when name is empty.

void addState(const QMLState& state)

Registers or replaces a named state definition.

void evaluateStates()

Reevaluates conditions; the first registered true condition wins.

QMLPlusRuntime* runtime()

Returns the lazy host-owned state observation object.

void setAnchors(const AnchorLayout::Anchors& anchors)

Replaces all host anchors and invalidates the parent layout.

void resetAnchors()

Clears all host anchors and invalidates the parent layout.

void addTransition(const StateTransition& transition)

Registers a state transition in precedence order.

void setBehavior(const char* propertyName, const PropertyAnimation& animation)

Sets the default animation for this host's managed property writes.

void clearBehavior(const char* propertyName)

Removes the default animation for future managed writes.

bool writeProperty(const char* propertyName, const QVariant& value)

Writes a host property through Behavior without removing its binding.

All inherited Qt members:QPushButton