class QBarDataProxy

The QBarDataProxy class is the data proxy for a 3D bars graph. More

Inheritance diagram of PySide6.QtGraphs.QBarDataProxy

Inherited by: QItemModelBarDataProxy

Synopsis

Properties

Methods

Signals

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description

A bar data proxy handles adding, inserting, changing, and removing rows of data.

The data array is a list of vectors (rows) of QBarDataItem instances. Each row can contain a different number of items or even be null.

QBarDataProxy takes ownership of all QtGraphs::QBarDataRow objects passed to it, whether directly or in a QtGraphs::QBarDataArray container. If bar data row pointers are used to directly modify data after adding the array to the proxy, the appropriate signal must be emitted to update the graph.

QBarDataProxy optionally keeps track of row and column labels, which QCategory3DAxis can utilize to show axis labels.

The row and column labels are stored in a separate array from the data in the series rather. Row processing methods are available in the proxy and provide alternative versions that do not affect row labels. This enables the option of having row labels that relate to the position of the data in the array rather than the data itself. Since the series holds the data and row and column labels, it is necessary to create a series associated with the proxy before using these functions for them.

See also

Qt Graphs Data Handling with 3D

class RemoveLabels

Added in version 6.8.

Note

Properties can be used directly when from __feature__ import true_property is used or via accessor functions otherwise.

property colCountᅟ: int

This property holds The number of columns in the array..

Access functions:
property rowCountᅟ: int

This property holds The number of rows in the array..

Access functions:
property seriesᅟ: QBar3DSeries

This property holds The series this proxy is attached to..

Access functions:
__init__([parent=None])
Parameters:

parentQObject

Constructs a bar data proxy with the given parent.

addRow(row)
Parameters:

row – .list of QBarDataItem

Return type:

int

Adds the new row row to the end of an array. Existing row labels are not affected.

Returns the index of the added row.

addRow(row, label)
Parameters:
  • row – .list of QBarDataItem

  • label – str

Return type:

int

Adds a the new row row with the label label to the end of an array.

Returns the index of the added row.

addRows(rows)
Parameters:

rows – .list of list of QBarDataItem

Return type:

int

Adds the new rows to the end of an array. Existing row labels are not affected.

Returns the index of the first added row.

addRows(rows, labels)
Parameters:
  • rows – .list of list of QBarDataItem

  • labels – list of strings

Return type:

int

Adds the new rows with labels to the end of the array.

Returns the index of the first added row.

arrayReset()

This signal is emitted when the data array is reset. If the contents of the whole array are changed without calling resetArray() , this signal needs to be emitted to update the graph.

colCount()
Return type:

int

Getter of property colCountᅟ .

colCountChanged(count)
Parameters:

count – int

Notification signal of property colCountᅟ .

insertRow(rowIndex, row)
Parameters:
  • rowIndex – int

  • row – .list of QBarDataItem

Inserts the new row row into rowIndex. If rowIndex is equal to the array size, the rows are added to the end of the array. The existing row labels are not affected.

Note

The row labels array will be out of sync with the row array after this call if there were labeled rows beyond the inserted row.

insertRow(rowIndex, row, label)
Parameters:
  • rowIndex – int

  • row – .list of QBarDataItem

  • label – str

Inserts the new row row with the label label into rowIndex. If rowIndex is equal to array size, rows are added to the end of the array.

insertRows(rowIndex, rows)
Parameters:
  • rowIndex – int

  • rows – .list of list of QBarDataItem

Inserts new rows into rowIndex. If rowIndex is equal to the array size, the rows are added to the end of the array. The existing row labels are not affected.

Note

The row labels array will be out of sync with the row array after this call if there were labeled rows beyond the inserted rows.

insertRows(rowIndex, rows, labels)
Parameters:
  • rowIndex – int

  • rows – .list of list of QBarDataItem

  • labels – list of strings

Inserts new rows with labels into rowIndex. If rowIndex is equal to the array size, the rows are added to the end of the array.

itemAt(position)
Parameters:

positionQPoint

Return type:

QBarDataItem

Returns the reference to the item at the position position. The x-value of position indicates the row and the y-value indicates the column. The item is guaranteed to be valid only until the next call that modifies data.

itemAt(rowIndex, columnIndex)
Parameters:
  • rowIndex – int

  • columnIndex – int

Return type:

QBarDataItem

Returns the reference to the item at the position specified by rowIndex and columnIndex. It is guaranteed to be valid only until the next call that modifies data.

itemChanged(rowIndex, columnIndex)
Parameters:
  • rowIndex – int

  • columnIndex – int

This signal is emitted when the item at the position specified by rowIndex and columnIndex changes. If the item is changed in the array without calling setItem() , this signal needs to be emitted to update the graph.

removeRows(rowIndex, removeCount[, removeLabels=QBarDataProxy.RemoveLabels.No])
Parameters:
  • rowIndex – int

  • removeCount – int

  • removeLabelsRemoveLabels

Removes the number of rows specified by removeCount starting at the position rowIndex. Attempting to remove rows past the end of the array does nothing. If removeLabels is true, the corresponding row labels are also removed. Otherwise, the row labels are not affected.

Note

If removeLabels is false, the row labels array will be out of sync with the row array if there are labeled rows beyond the removed rows.

resetArray()

Clears the existing array and row and column labels.

resetArray(newArray)
Parameters:

newArray – .list of list of QBarDataItem

Takes ownership of the array newArray. Clears the existing array if the new array differs from it. If the arrays are the same, this function just triggers the arrayReset() signal.

Passing a null array deletes the old array and creates a new empty array. Row and column labels are not affected.

resetArray(newArray, rowLabels, columnLabels)
Parameters:
  • newArray – .list of list of QBarDataItem

  • rowLabels – list of strings

  • columnLabels – list of strings

Takes ownership of the array newArray. Clears the existing array if the new array differs from it. If the arrays are the same, this function just triggers the arrayReset() signal.

Passing a null array deletes the old array and creates a new empty array.

The rowLabels and columnLabels lists specify the new labels for rows and columns.

rowAt(rowIndex)
Parameters:

rowIndex – int

Return type:

.list of QBarDataItem

Returns the reference to the row at the position rowIndex. It is guaranteed to be valid only until the next call that modifies data.

rowCount()
Return type:

int

Getter of property rowCountᅟ .

rowCountChanged(count)
Parameters:

count – int

Notification signal of property rowCountᅟ .

rowsAdded(startIndex, count)
Parameters:
  • startIndex – int

  • count – int

This signal is emitted when the number of rows specified by count is added, starting at the position startIndex. If rows are added to the array without calling addRow() or addRows() , this signal needs to be emitted to update the graph.

rowsChanged(startIndex, count)
Parameters:
  • startIndex – int

  • count – int

This signal is emitted when the number of rows specified by count is changed, starting at the position startIndex. If rows are changed in the array without calling setRow() or setRows() , this signal needs to be emitted to update the graph.

rowsInserted(startIndex, count)
Parameters:
  • startIndex – int

  • count – int

This signal is emitted when the number of rows specified by count is inserted at the position startIndex.

If rows are inserted into the array without calling insertRow() or insertRows() , this signal needs to be emitted to update the graph.

rowsRemoved(startIndex, count)
Parameters:
  • startIndex – int

  • count – int

This signal is emitted when the number of rows specified by count is removed, starting at the position startIndex.

The index is the current array size if the rows were removed from the end of the array. If rows are removed from the array without calling removeRows() , this signal needs to be emitted to update the graph.

series()
Return type:

QBar3DSeries

Getter of property seriesᅟ .

seriesChanged(series)
Parameters:

seriesQBar3DSeries

Notification signal of property seriesᅟ .

setItem(position, item)
Parameters:

Changes a single item at the position position to the item item. The x-value of position indicates the row and the y-value indicates the column.

setItem(rowIndex, columnIndex, item)
Parameters:
  • rowIndex – int

  • columnIndex – int

  • itemQBarDataItem

Changes a single item at the position specified by rowIndex and columnIndex to the item item.

setRow(rowIndex, row)
Parameters:
  • rowIndex – int

  • row – .list of QBarDataItem

Changes an existing row by replacing the row at the position rowIndex with the new row specified by row. The new row can be the same as the existing row already stored at rowIndex. Existing row labels are not affected.

setRow(rowIndex, row, label)
Parameters:
  • rowIndex – int

  • row – .list of QBarDataItem

  • label – str

Changes an existing row by replacing the row at the position rowIndex with the new row specified by row. The new row can be the same as the existing row already stored at rowIndex. Changes the row label to label.

setRows(rowIndex, rows)
Parameters:
  • rowIndex – int

  • rows – .list of list of QBarDataItem

Changes existing rows by replacing the rows starting at the position rowIndex with the new rows specifies by rows. Existing row labels are not affected. The rows in the rows array can be the same as the existing rows already stored at rowIndex.

setRows(rowIndex, rows, labels)
Parameters:
  • rowIndex – int

  • rows – .list of list of QBarDataItem

  • labels – list of strings

Changes existing rows by replacing the rows starting at the position rowIndex with the new rows specifies by rows. The row labels are changed to labels. The rows in the rows array can be the same as the existing rows already stored at rowIndex.