Theme3D QML Type

A visual style for graphs. More...

Import Statement: import QtGraphs
Instantiates: Q3DTheme
Status: Technical Preview

Properties

Detailed Description

This type is used to specify visual properties that affect the whole graph. There are several built-in themes that can be used as is or modified freely.

The following properties can be overridden by using Abstract3DSeries properties to set them explicitly in the series: baseColors, baseGradients, and colorStyle.

Themes can be created from scratch by using the Theme3D.Theme.UserDefined enum value.

Default Theme

The following table lists the properties controlled by themes and the default values for Theme3D.Theme.UserDefined.

Usage examples

Using a built-in theme without any modifications:

 Scatter3D {
     ...
     theme: Theme3D { type: Theme3D.Theme.Retro }
     ...
 }

Using a built-in theme and modifying some properties:

 Bars3D {
     ...
     theme: Theme3D {
         type: Theme3D.Theme.Retro
         labelBorderEnabled: true
         font.pointSize: 35
         labelBackgroundEnabled: false
     }
     ...
 }

Using a user-defined theme:

 Surface3D {
     ...
     theme: Theme3D {
         ambientLightStrength: 0.5
         backgroundColor: "red"
         backgroundEnabled: true
         baseColors: ["blue"]
         colorStyle: Theme3D.ColorStyle.Uniform
         font.family: "Lucida Handwriting"
         font.pointSize: 35
         gridEnabled: false
         gridLineColor: "black"
         labelBackgroundColor: "black"
         labelBackgroundEnabled: true
         labelBorderEnabled: false
         labelTextColor: "white"
         lightColor: "yellow"
         lightStrength: 0.4
         multiHighlightColor: "green"
         singleHighlightColor: "darkRed"
         windowColor: "white"
     }
     ...
 }

For Theme3D enums, see Q3DTheme::ColorStyle and Q3DTheme::Theme.

Property Documentation

ambientLightStrength : real

The ambient light strength for the whole graph. This value determines how evenly and brightly the colors are shown throughout the graph regardless of the light position. The value must be between 0.0 and 1.0.


backgroundColor : color

The color of the graph background.


backgroundEnabled : bool

Defines whether the background is drawn by using the value of backgroundColor.


baseColors : list<Color> [read-only]

The list of base colors to be used for all the objects in the graph, series by series. If there are more series than colors, color list wraps and starts again with the first color in the list. Has no immediate effect if colorStyle is not Theme3D.ColorStyle.Uniform.

This can be overridden by setting Abstract3DSeries.baseColor explicitly in the series.


baseGradients : list<Gradient> [read-only]

The list of base gradients to be used for all the objects in the graph, series by series. If there are more series than gradients, the gradient list wraps and starts again with the first gradient in the list.

Has no immediate effect if colorStyle is Theme3D.ColorStyle.Uniform.

This value can be overridden by setting Abstract3DSeries.baseGradient explicitly in the series.


colorStyle : Theme3D.ColorStyle

The style of the graph colors. One of Q3DTheme::ColorStyle enum values.

This value can be overridden by setting Abstract3DSeries.colorStyle explicitly in the series.

See also Q3DTheme::ColorStyle.


font : font

Sets the font to be used for labels.


gridEnabled : bool

Defines whether the grid lines are drawn. This value affects all grid lines.


gridLineColor : color

The color of the grid lines.


labelBackgroundColor : color

The color of the label backgrounds. Has no effect if labelBackgroundEnabled is false.


labelBackgroundEnabled : bool

Defines whether the label is drawn with a background that uses labelBackgroundColor (including alpha), or with a fully transparent background. Labels with a background are drawn to equal sizes per axis based on the longest label, and the text is centered in them. Labels without a background are drawn as is and are left or right aligned based on their position in the graph.


labelBorderEnabled : bool

Defines whether label borders are drawn for labels that have a background. Has no effect if labelBackgroundEnabled is false.


labelTextColor : color

The color of the font used for labels.


labelsEnabled : bool

Defines whether labels are drawn at all. If this is false, all other label properties have no effect.


lightColor : color

The color of the ambient and specular light defined in Scene3D.


lightStrength : real

The specular light strength for the whole graph. The value must be between 0.0 and 10.0.

This value affects the light specified in Scene3D.


multiHighlightColor : color

The highlight color for selected objects. Used if selectionMode has the AbstractGraph3D.SelectionRow or AbstractGraph3D.SelectionColumn flag set.


multiHighlightGradient : Gradient

The highlight gradient for selected objects. Used if selectionMode has the AbstractGraph3D.SelectionRow or AbstractGraph3D.SelectionColumn flag set.


shadowStrength : real

The shadow strength for the whole graph. The higher the number, the darker the shadows will be. The value must be between 0.0 and 100.0.

This value affects the light specified in Scene3D.


singleHighlightColor : color

The highlight color for a selected object. Used if selectionMode has the AbstractGraph3D.SelectionItem flag set.


singleHighlightGradient : Gradient

The highlight gradient for a selected object. Used if selectionMode has the AbstractGraph3D.SelectionItem flag set.


type : Theme3D.Theme

The type of the theme. If no type is set, the type is Theme3D.Theme.UserDefined. Changing the theme type after the item has been constructed will change all other properties of the theme to what the predefined theme specifies. Changing the theme type of the active theme of the graph will also reset all attached series to use the new theme.


windowColor : color

The color of the application window the graph is drawn into.