• PySide 模块
  • PySide.QtCore
  • 内容表

    上一话题

    QAbstractTableModel

    下一话题

    QAbstractEventDispatcher

    QAbstractListModel

    继承者: Phonon.ObjectDescriptionModel , Phonon.EffectDescriptionModel , Phonon.AudioOutputDeviceModel , QStringListModel , QHelpIndexModel

    详细描述

    PySide.QtCore.QAbstractListModel class provides an abstract model that can be subclassed to create one-dimensional list models.

    PySide.QtCore.QAbstractListModel provides a standard interface for models that represent their data as a simple non-hierarchical sequence of items. It is not used directly, but must be subclassed.

    Since the model provides a more specialized interface than PySide.QtCore.QAbstractItemModel , it is not suitable for use with tree views; you will need to subclass PySide.QtCore.QAbstractItemModel if you want to provide a model for that purpose. If you need to use a number of list models to manage data, it may be more appropriate to subclass PySide.QtCore.QAbstractTableModel class instead.

    Simple models can be created by subclassing this class and implementing the minimum number of required functions. For example, we could implement a simple read-only PySide.QtCore.QStringList -based model that provides a list of strings to a PySide.QtGui.QListView widget. In such a case, we only need to implement the PySide.QtCore.QAbstractItemModel.rowCount() function to return the number of items in the list, and the PySide.QtCore.QAbstractItemModel.data() function to retrieve items from the list.

    Since the model represents a one-dimensional structure, the PySide.QtCore.QAbstractItemModel.rowCount() function returns the total number of items in the model. The PySide.QtCore.QAbstractListModel.columnCount() function is implemented for interoperability with all kinds of views, but by default informs views that the model contains only one column.

    子类化

    当子类化 PySide.QtCore.QAbstractListModel , you must provide implementations of the PySide.QtCore.QAbstractItemModel.rowCount() and PySide.QtCore.QAbstractItemModel.data() functions. Well behaved models also provide a PySide.QtCore.QAbstractItemModel.headerData() 实现。

    For editable list models, you must also provide an implementation of PySide.QtCore.QAbstractItemModel.setData() , implement the PySide.QtCore.QAbstractItemModel.flags() function so that it returns a value containing Qt.ItemIsEditable .

    注意: PySide.QtCore.QAbstractListModel provides a default implementation of PySide.QtCore.QAbstractListModel.columnCount() that informs views that there is only a single column of items in this model.

    Models that provide interfaces to resizable list-like data structures can provide implementations of PySide.QtCore.QAbstractItemModel.insertRows() and PySide.QtCore.QAbstractItemModel.removeRows() . When implementing these functions, it is important to call the appropriate functions so that all connected views are aware of any changes:

    注意

    Some general guidelines for subclassing models are available in the 模型子类化参考 .

    另请参阅

    模型类 模型子类化参考 PySide.QtGui.QAbstractItemView PySide.QtCore.QAbstractTableModel 项视图拼图范例

    class PySide.QtCore. QAbstractListModel ( [ parent=None ] )
    参数: parent PySide.QtCore.QObject

    Constructs an abstract list model with the given parent .