- Qt 6.8
- Qt Location
- QML Types
- CategoryModel
- Qt 6.8.0 Reference Documentation

# CategoryModel QML Type

The CategoryModel type provides a model of the categories supported by a Plugin. More...

Import Statement: | `import QtLocation 6.8`
Since: | QtLocation 5.5

- List of all members, including inherited members

## Properties

- hierarchical : bool
- plugin : Plugin
- status : enumeration

## Signals

- dataChanged()

## Methods

- string errorString()

## Detailed Description

The CategoryModel type provides a model of the categories that are available from the current Plugin. The model supports both a flat list of categories and a hierarchical tree representing category groupings. This can be controlled by the hierarchical property.

The model supports the following roles:

Role | Type | Description
--- | --- | ---
category | Category | Category object for the current item.
parentCategory | Category | Parent category object for the current item. If there is no parent, null is returned.

The following example displays a flat list of all available categories:

     import QtQuick
     import QtPositioning
     import QtLocation

     ListView {
         model: CategoryModel {
             plugin: myPlugin
             hierarchical: false
         }
         delegate: Text { text: category.name }
     }

To access the hierarchical category model it is necessary to use a DelegateModel to access the child items.

## Property Documentation

hierarchical : bool

This property holds whether the model provides a hierarchical tree of categories or a flat list. The default is true.

plugin : Plugin

This property holds the provider Plugin used by this model.

status : enumeration `[read-only]`

This property holds the status of the model. It can be one of:

CategoryModel.Null | No category fetch query has been executed. The model is empty.
CategoryModel.Ready | No error occurred during the last operation, further operations may be performed on the model.
CategoryModel.Loading | The model is being updated, no other operations may be performed until complete.
CategoryModel.Error | An error occurred during the last operation, further operations can still be performed on the model.

## Signal Documentation

dataChanged()

This signal is emitted when significant changes have been made to the underlying datastore.

Applications should act on this signal at their own discretion. The data provided by the model could be out of date and so the model should be reupdated sometime, however an immediate reupdate may be disconcerting to users if the categories change without any action on their part.

The corresponding handler is `onDataChanged`.

Note: The corresponding handler is `onDataChanged`.

## Method Documentation

string errorString()

This read-only property holds the textual presentation of the latest category model error. If no error has occurred, an empty string is returned.

An empty string may also be returned if an error occurred which has no associated textual representation.