| CMakeLists.txt |
|
1360 |
- |
| doc |
|
|
- |
| q3dbarswidgetitem.cpp |
!
\class Q3DBarsWidgetItem
\inmodule QtGraphsWidgets
\ingroup graphs_3D_widgets
\brief The Q3DBarsWidgetItem class provides methods for rendering 3D bar graphs.
This class enables developers to render 3D bar graphs and view them by
freely rotating the scene. Rotation is achieved by holding down the right
mouse button and moving the mouse, while zooming is accomplished using
the mouse wheel. If enabled, selection is performed with the left mouse
button. The scene can be reset to the default camera view by clicking the
mouse wheel. On touch devices, rotation is achieved by tap-and-move,
selection by tap-and-hold, and zooming by pinch.
If no axes are set explicitly for Q3DBarsWidgetItem, temporary default axes without
labels are created. These default axes can be modified via axis accessors,
but as soon as any axis is set explicitly for the orientation, the default
axis for that orientation is destroyed.
Q3DBarsWidgetItem supports more than one visible series at the same time. All series
don't need to have the same number of rows and columns. Row and column
labels are taken from the first added series unless explicitly defined
for row and column axes.
Q3DBarsWidgetItem has transparency support. This feature allows you to adjust the
opacity of the bars, making them partially see-through, fully transparent,
or opaque.
\section1 How to construct a minimal Q3DBarsWidgetItem graph
First, construct an instance of Q3DBarsWidgetItem:
\snippet doc_src_q3dbars_construction.cpp 4
After constructing Q3DBarsWidgetItem, you can set the data window by changing the range
on the row and column axes. It is not mandatory, as the data window will default
to showing all of the data in the series. If the amount of data is large, it
is usually preferable to show just a portion of it. For example, let's set
the data window to display the first five rows and columns:
\snippet doc_src_q3dbars_construction.cpp 0
Now, Q3DBarsWidgetItem is ready to receive data to be rendered. Create a series with one
row of 5 values:
\snippet doc_src_q3dbars_construction.cpp 1
\note We set the data window to 5 x 5, but we are adding only one row of
data. This is okay; the rest of the rows will just be blank.
Finally you will need to set it visible:
\snippet doc_src_q3dbars_construction.cpp 2
The complete code needed to create and display this graph is:
\snippet doc_src_q3dbars_construction.cpp 3
And this is what those few lines of code produce:
\image q3dbars-minimal.png {3D bar chart with green bars of varying heights}
The scene can be rotated, zoomed into, and a bar can be selected to view its
value, but no other interactions are included in this minimal code example.
You can learn more by familiarizing yourself with the examples provided, like
the \l{Simple Bar Graph}.
\sa Q3DScatterWidgetItem, Q3DSurfaceWidgetItem, {Qt Graphs C++ Classes for 3D}
|
15036 |
- |
| q3dbarswidgetitem.h |
|
4099 |
- |
| q3dbarswidgetitem_p.h |
|
864 |
- |
| q3dgraphswidgetitem.cpp |
!
\class Q3DGraphsWidgetItem
\inmodule QtGraphsWidgets
\ingroup graphs_3D_widgets
\brief The Q3DGraphsWidgetItem class provides a window and render loop for
graphs.
This class subclasses a QWindow and provides render loop for graphs
inheriting it.
You should not need to use this class directly, but one of its subclasses
instead.
Multisampling is turned off by default in \c {QSurfaceFormat}.
To enable multisampling, set a custom surface format as
a default surface format. To get the custom surface format,
use \l {QQuick3D::idealSurfaceFormat()}.
\sa Q3DBarsWidgetItem, Q3DScatterWidgetItem, Q3DSurfaceWidgetItem, {Qt Graphs C++ Classes for 3D}
|
52849 |
- |
| q3dgraphswidgetitem.h |
|
14353 |
- |
| q3dgraphswidgetitem_p.h |
|
1028 |
- |
| q3dscatterwidgetitem.cpp |
!
\class Q3DScatterWidgetItem
\inmodule QtGraphsWidgets
\ingroup graphs_3D_widgets
\brief The Q3DScatterWidgetItem class provides methods for rendering 3D scatter graphs.
This class enables developers to render 3D scatter graphs and view them by freely
rotating the scene. Rotation is achieved by holding down the right mouse button
and moving the mouse, while zooming is accomplished using the mouse wheel. If
enabled, selection is performed with the left mouse button. The scene can be
reset to the default camera view by clicking the mouse wheel. On touch devices,
rotation is achieved by tap-and-move, selection by tap-and-hold, and zooming
by pinch.
If no axes are set explicitly to Q3DScatterWidgetItem, temporary default axes with no
labels are created. These default axes can be modified via axis accessors,
but as soon any axis is set explicitly for the orientation, the default axis
for that orientation is destroyed.
Q3DScatterWidgetItem supports more than one series visible at the same time.
Q3DScatterWidgetItem has transparency support. This feature allows you to adjust
the opacity of the scatter points, making them partially see-through,
fully transparent, or opaque.
\section1 How to construct a minimal Q3DScatterWidgetItem graph
First, construct Q3DScatterWidgetItem. Since we are running the graph as the top-level
window in this example, we need to clear the \c Qt::FramelessWindowHint flag,
which is set by default:
\snippet doc_src_q3dscatter_construction.cpp 0
Now Q3DScatterWidgetItem is ready to receive data to be rendered. Add one series of 3
QVector3D items:
\note In the new proxy-series relationship, data is held in series.
Therefore, for the proxy to be able to add, delete, or edit the data, it is
a prerequisite to create a series first.
\snippet doc_src_q3dscatter_construction.cpp 1
Finally you will need to set it visible:
\snippet doc_src_q3dscatter_construction.cpp 2
The complete code needed to create and display this graph is:
\snippet doc_src_q3dscatter_construction.cpp 3
And this is what those few lines of code produce:
\image q3dscatter-minimal.png {3D scatter plot with green spheres}
The scene can be rotated, zoomed into, and an item can be selected to view
its position, but no other interactions are included in this minimal code
example. You can learn more by familiarizing yourself with the examples
provided, like the \l{Simple Scatter Graph}.
\sa Q3DBarsWidgetItem, Q3DSurfaceWidgetItem, {Qt Graphs C++ Classes for 3D}
|
8423 |
- |
| q3dscatterwidgetitem.h |
|
2012 |
- |
| q3dscatterwidgetitem_p.h |
|
836 |
- |
| q3dsurfacewidgetitem.cpp |
!
\class Q3DSurfaceWidgetItem
\inmodule QtGraphsWidgets
\ingroup graphs_3D_widgets
\brief The Q3DSurfaceWidgetItem class provides methods for rendering 3D surface plots.
This class enables developers to render 3D surface plots and to view them by
rotating the scene freely. The visual properties of the surface such as draw
mode and shading can be controlled via QSurface3DSeries.
The Q3DSurfaceWidgetItem supports selection by showing a highlighted ball on the data
point where the user has clicked with the left mouse button (when the default
input handler is in use) or selected via QSurface3DSeries. The selection pointer
is accompanied by a label, which in the default case shows the value of the data
point and the coordinates of the point.
The value range and the label format shown on the axis can be controlled
through QValue3DAxis.
To rotate the graph, hold down the right mouse button and move the mouse.
Zooming is done using the mouse wheel. Both actions assume the default input
handler is in use.
If no axes are set explicitly for Q3DSurfaceWidgetItem, temporary default axes with no
labels are created. These default axes can be modified via axis accessors,
but as soon as any axis is set explicitly for the orientation, the default
axis for that orientation is destroyed.
\section1 How to construct a minimal Q3DSurfaceWidgetItem graph
First, construct Q3DSurfaceWidgetItem. Since we are running the graph as a top-level
window in this example, we need to clear the \c Qt::FramelessWindowHint flag,
which is set by default:
\snippet doc_src_q3dsurface_construction.cpp 0
Now Q3DSurfaceWidgetItem is ready to receive data to be rendered. Create data elements
to receive values:
\note In the new proxy-series relationship, data is held in series.
Therefore, for the proxy to be able to add, delete, or edit the data, it is
a prerequisite to create a series first.
\snippet doc_src_q3dsurface_construction.cpp 1
First feed the data to the row elements and then add their pointers to the
data element:
\snippet doc_src_q3dsurface_construction.cpp 2
Create a new series and set data to it:
\snippet doc_src_q3dsurface_construction.cpp 3
Finally you will need to set it visible:
\snippet doc_src_q3dsurface_construction.cpp 4
The complete code needed to create and display this graph is:
\snippet doc_src_q3dsurface_construction.cpp 5
And this is what those few lines of code produce:
\image q3dsurface-minimal.png {3D surface plot with sloped green plane}
The scene can be rotated, zoomed into, and a surface point can be selected to
view its position, but no other interactions are included in this minimal code
example. You can learn more by familiarizing yourself with the examples
provided, like the \l{Surface Graph Gallery}.
\sa Q3DBarsWidgetItem, Q3DScatterWidgetItem, {Qt Graphs C++ Classes for 3D}
|
11438 |
- |
| q3dsurfacewidgetitem.h |
|
2476 |
- |
| q3dsurfacewidgetitem_p.h |
|
837 |
- |
| qgraphswidgetsglobal.h |
|
609 |
- |
| qml |
|
|
- |