Skip to content

slint::VectorModel Class

template <typename ModelData>
class VectorModel;
C++
#include <slint.h>
C++

Inherits slint::Model< ModelData >.

A Model backed by a SharedVector.

slint::VectorModel< ModelData >::VectorModel()=default

Constructs a new empty VectorModel.

slint::VectorModel< ModelData >::VectorModel(std::vector< ModelData > array)

Constructs a new VectorModel from array.

size_t slint::VectorModel< ModelData >::row_count() const override

The amount of row in the model.

std::optional< ModelData > slint::VectorModel< ModelData >::row_data(size_t i) const override

Returns the data for a particular row. This function should be called with row < row_count().

void slint::VectorModel< ModelData >::set_row_data(size_t i, const ModelData &value) override

Sets the data for a particular row.

This function should only be called with row < row_count().

If the model cannot support data changes, then it is ok to do nothing. The default implementation will print a warning to stderr.

If the model can update the data, it should also call row_changed

void slint::VectorModel< ModelData >::push_back(const ModelData &value)

Append a new row with the given value.

void slint::VectorModel< ModelData >::erase(size_t index)

Remove the row at the given index from the model.

void slint::VectorModel< ModelData >::insert(size_t index, const ModelData &value)

Inserts the given value as a new row at the specified index.

void slint::VectorModel< ModelData >::clear()

Erases all rows from the VectorModel.

void slint::VectorModel< ModelData >::set_vector(std::vector< ModelData > array)

Replaces the underlying VectorModel’s vector with array.


© 2026 SixtyFPS GmbH