ElaWidgetTools Documentation
repository·main·Indexed 25 days ago
https://github.com/liniyous/elawidgettoolsA 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.
What's inside ElaWidgetTools
- 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.
License Information
mainElaWidgetTools is licensed under the MIT License.
Requirement: All distributed software must retain the MIT license notice of this project. Commercial use without retaining the license is considered infringement.
Supported Platforms and Qt Versions
mainElaWidgetTools 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
Reference of ElaWidgetTools Components
mainThe 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.
Use ElaNavigationRouteCommand for navigation undo/redo
mainTheElaNavigationRouteCommandis a specialized command class used to handle navigation route actions within the UI. It integrates withElaNavigationBarto manage the history of navigation pages, allowing for standardundo()andredo()operations. This is typically used to implement 'Back' and 'Forward' functionality in a navigation bar context.Use ElaWindowStackChangeCommand to manage window stack history
mainTheElaWindowStackChangeCommandclass is used to manage changes to the window stack within the UI, providing support for undoing and redoing window state transitions. It inherits fromElaActionCommandand implements theundo()andredo()methods to navigate through the window stack history.Use ElaScrollPageRouteCommand for scroll page routing
mainTheElaScrollPageRouteCommandclass is used to handle undo/redo operations specifically for scroll page route actions within the UI. It manages the history of page navigation, including breadcrumb states and page indices, allowing the application to revert or re-apply routing changes.