Additional Stuff for Qt Quick Controls 2, to make it work event better
Note: The android specific stuff has been moved to AndroidUtils
This package is a collection of various qml types to improve the qt quick controls 2 as well as android support
- QML Types
- CommonStyle - An item to easily access style parameters (like accent, background, etc) without referencing the styles directly
- TintIcon - An icon with a tint color
- AppBarButton - A button to be used in ActionBars, in short an improved toolbutton
- FloatingActionButton - Improved Version of the RoundButton
- AlerDialog - A keyboard-aware qml dialog, extending the default dialog by modifying position and size
- ActionBar - A Toolbar in android style - menu button, title, actions and more menu (and an optional TabBar)
- NavigationDrawer - A Drawer with automated size behavior
- DoubleSpinBox - A spinbox for double values
- QuickExtras singleton with additional properties/methods
- Adds an SVG image provider that uses the SVG engine to scale images, instead of zooming in QML (which looks horrible on high DPI devices)
- Makes QSortFilterProxyModel available in QML
The package is providet as qpm package, de.skycoder42.quickextras
. To install:
- Install qpm (See GitHub - Installing, for windows see below)
- In your projects root directory, run
qpm install de.skycoder42.quickextras
- Include qpm to your project by adding
include(vendor/vendor.pri)
to your.pro
file
Check their GitHub - Usage for App Developers to learn more about qpm.
Important for Windows users: QPM Version 0.10.0 (the one you can download on the website) is currently broken on windows! It's already fixed in master, but not released yet. Until a newer versions gets released, you can download the latest dev build from here:
- https://storage.googleapis.com/www.qpm.io/download/latest/windows_amd64/qpm.exe
- https://storage.googleapis.com/www.qpm.io/download/latest/windows_386/qpm.exe
All the QML type ar available via the import import de.skycoder42.quickextras 2.0
. To make use of the SVG image provider, it must be registered in the engine. This can be done by calling QuickExtras::setupEngine(engine);
in your main. To load svg images, use image://svg/dir_to/image
. This would load the svg image :/dir_to/image.svg
from the resources. Have a look at the Demo
project to see a small example of the extra controls
Since haptic feedback is device specific, it is not implemented here. The QuickExtras.hapticLongPress()
by default does nothing, unless a feedback trigger has been set by using QuickExtras::setHapticFeedbackProvider
. Pro-Tip: My AndroidUtils package provides a method to trigger such feedback for android.