Open 3D Engine AzQtComponents API Reference
24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
Class to handle styling and painting of QPushButton controls. More...
#include <PushButton.h>
Classes | |
struct | Border |
struct | ColorSet |
Structure to specify multiple gradients for different widget states. More... | |
struct | Config |
Style configuration for the PushButton class. More... | |
struct | DropdownButton |
struct | Frame |
struct | Gradient |
struct | IconButton |
struct | SmallIcon |
Static Public Member Functions | |
static void | applyPrimaryStyle (QPushButton *button) |
Applies the Primary styling to a QPushButton. | |
static void | applySmallIconStyle (QToolButton *button) |
Applies the Primary styling to a QToolButton. | |
static Config | loadConfig (QSettings &settings) |
static Config | defaultConfig () |
Gets the default PushButton style configuration. | |
Friends | |
class | Style |
Class to handle styling and painting of QPushButton controls.
Special class to handle styling and painting of PushButtons.
We have to use default QPushButton's throughout the engine, because QMessageBox's and other built-in Qt things don't provide an easy hook to override the type used. So, this class, full of static member functions, provides a place to collect all of the logic related to painting/styling QPushButton's
The built-in Qt version of QPushButton painting is not very good. The edges of the frame aren't anti-aliased and don't look quite right.
Unfortunately, Qt (as of 5.6) doesn't provide any hooks to query stylesheet values once loaded. To avoid writing and maintaining our own css parsing and rule engine, we just override the painting directly, and allow settings to be customized via an ini file.
Some of the styling of QPushButton and QToolButton is done via CSS, in PushButton.qss Everything else that can be configured is in PushButtonConfig.ini
There are currently three built-in styles: Our default QPushButton style Our Primary QPushButton style, specified via pushButton->setDefault(true); Small Icon QToolButton style, specified via PushButton::applySmallIconStyle(toolButton);
|
static |
Sets the PushButton style configuration.
settings | The settings object to load the configuration from. |