ElaWidgetTools Documentation

repository·main·Indexed 25 days ago

https://github.com/liniyous/elawidgettools

A FluentUI-style component library for Qt developers providing modern widgets and integration tools for Windows and Linux (Ubuntu/Kylin). Built on top of QT-Widget, it supports QT 5.12 and above, with specific requirements for Linux (QT 5.15+). The library includes application management tools like ElaWindow, input components such as ElaComboBox and ElaCalendar, data display views, and specialized UI cards, all licensed under the MIT License.

Tokens
948
Snippets
0
Records
7
Agent score
82%

What's inside ElaWidgetTools

  1. Overview of ElaWidgetTools

    main
    ElaWidgetTools is a FluentUI-style component library built on top of QT-Widget. It provides a wide range of UI components and common integration features for Qt applications. The library is designed to provide a modern, polished aesthetic similar to Fluent Design.
  2. Supported Platforms and Qt Versions

    main

    ElaWidgetTools supports the following environments:

    Qt Version Requirements

    • Main Branch: Supports all versions from QT 5.12 and above.
    • Linux: Requires QT 5.15 or above.
    • Recommended Versions: QT 5.15.2 and QT 6.6.2.

    Operating Systems

    • Windows
    • Ubuntu/Kylin
  3. Reference of ElaWidgetTools Components

    main

    The library provides a comprehensive set of components categorized by their function. Key components include:

    Application & Window Management

    • ElaApplication: Application initialization.
    • ElaWindow: Borderless window with a navigation bar.
    • ElaAppBar: Window title bar (supports dragging, minimizing, maximizing, closing, and resizing).
    • ElaWidget: Borderless modal window.
    • ElaDrawerArea: Drawer window.
    • ElaDockWidget: Dockable widget.

    Input & Selection

    • ElaPushButton: Standard button.
    • ElaIconButton: Icon button.
    • ElaSwitchButton / ElaToggleSwitch: Switch/Toggle buttons.
    • ElaCheckBox: Checkbox.
    • ElaRadioButton: Radio button.
    • ElaComboBox / ElaMultiSelectComboBox: Dropdown and multi-select dropdowns.
    • ElaLineEdit: Input field.
    • ElaSpinBox / ElaDoubleSpinBox: Integer and floating-point spin boxes.
    • ElaSlider: Slider.
    • ElaCalendar / ElaCalendarPicker: Calendar view and date picker.
    • ElaRoller: Infinite roller selector.

    Data Display & Navigation

    • ElaListView / ElaTableView / ElaTreeView: List, Table, and Tree views.
    • ElaTabWidget / ElaTabBar: Google Chrome-style tabs and tab bars.
    • ElaBreadcrumbBar: Breadcrumb navigation.
    • ElaPivot: Axis navigation.
    • ElaProgressBar: Progress bar.
    • ElaLCDNumber: LCD digital display.
    • ElaLog: Message logging.

    Cards & Specialized UI

    • ElaAcrylicUrlCard: Interactive acrylic card with images (supports URL redirection).
    • ElaInteractiveCard: Interactive transparent card with images.
    • ElaImageCard: Image card.
    • ElaPopularCard: Popularity card.
    • ElaPromotionCard / ElaPromotionView: Promotion cards and views.
    • ElaReminderCard: Reminder card with images.

    Utilities & Layout

    • ElaFlowLayout: Flow layout with animation support.
    • ElaEventBus: Event bus for communication.
    • ElaTheme: Theme manager.
    • ElaDxgiManager: DXGI collector (supports automatic device selection with higher efficiency than native collection).
    • ElaExponentialBlur: Exponential blur effect.
  4. Use ElaNavigationRouteCommand for navigation undo/redo

    main
    The ElaNavigationRouteCommand is a specialized command class used to handle navigation route actions within the UI. It integrates with ElaNavigationBar to manage the history of navigation pages, allowing for standard undo() and redo() operations. This is typically used to implement 'Back' and 'Forward' functionality in a navigation bar context.