Skip to content

A collection of useful widgets, data models, and utility functions the Qt GUI framework

License

Notifications You must be signed in to change notification settings

Prograda/skybolt-widgets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Skybolt Widgets

A collection of useful widgets, data models, and utility functions for the Qt framework.


Features

Widgets

CollapsiblePanelWidget

image

A widget that can be expanded and collapsed vertically. When expanded, the content widget appears. When collapsed, only the widget's title appears.

ErrorLogWidget

image

Displays an error message log. Messages have a timestamp, have a severity level (error, warning, info etc), and message text. Messages can be cleared by pressing the "Clear" button. Backed by an ErrorLogModel.

LatestErrorWidget

image

Shows the latest error message from a log. The user can click the 'expand' button to the complete error log presented in an ErrorLogWidget. Designed to be added to QStatusBar.

ListEditorWidget

image

Widget for editing a list of items. Items can be added, removed, or moved up and down in the list.

PropertyEditorWidget

image

Widget for displaying a list of editable properties, similar to property editors provided by popular content creation tools (Blender, Unreal Engine etc). Properties are backed by PropertiesModel which stores a list of QtProperty objects.

TimelineWidget

image

Provides a multimedia-player style timeline with a draggable time slider. An optional 'marked range' can be displayed, for example to indicate a buffered region of the timeline.

TimeControlWidget

image

Provides multimedia-player style buttons for play, pause, backward and forward.

Data Models

PropertiesModel

Stores a list of QtProperty objects representing named properties of various data types. Designed to be displayed with PropertyEditorWidget. Properties can be optionally backed by the skybolt-reflect C++ runtime reflection library by calling addReflPropertiesToModel.

SyncedListModel

An auto-synchronizing model that reconciles its state with an external collection via snapshot diffing. Instead of resetting the entire model, it identifies and applies only the specific deltas (insertions and deletions) required to match the latest snapshot.

TreeItemModel

Implements QAbstractItemModel to provide an object oriented interface that simplifies management of an item hierarchy, intended for display with QTreeView.

Utility functions

Qt class helpers

A variety of utility functions are provided to simplify usage of standard Qt classes including:

  • QDialog
  • QLayout
  • QMenu
  • QScrollArea
  • QTimer

RecentFileMenuPopulator

A utility class that populates a QMenu with names of recently opened files.


Building

This library can be built using Conan and CMake.

The Conan recipe provides a list of build dependencies. These dependences are aquired automatically if building with conan. The skybolt-reflect package is an optional dependency which provides runtime reflection for the PropertiesModel class.


License

This project is licensed under the MIT license - see the License.txt file for details.


Contact

To submit a bug report, please raise an issue on the GitHub repository.

For business enquiries, please use our contact form.

About

A collection of useful widgets, data models, and utility functions the Qt GUI framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published