# QAbstractItemModel Class Reference
## [[QtCore](index.htm) module]
該化QAbstractItemModel類提供抽象接口項目模型類。[More...](#details)
繼承[QObject](qobject.html)。
通過繼承[QAbstractListModel](qabstractlistmodel.html),[QAbstractProxyModel](qabstractproxymodel.html),[QAbstractTableModel](qabstracttablemodel.html),[QDirModel](qdirmodel.html),[QFileSystemModel](qfilesystemmodel.html),[QHelpContentModel](qhelpcontentmodel.html),[QProxyModel](qproxymodel.html)和[QStandardItemModel](qstandarditemmodel.html)。
### Methods
* `__init__ (self, QObject?parent?=?None)`
* `beginInsertColumns (self, QModelIndex?parent, int?first, int?last)`
* `beginInsertRows (self, QModelIndex?parent, int?first, int?last)`
* `bool beginMoveColumns (self, QModelIndex?sourceParent, int?sourceFirst, int?sourceLast, QModelIndex?destinationParent, int?destinationColumn)`
* `bool beginMoveRows (self, QModelIndex?sourceParent, int?sourceFirst, int?sourceLast, QModelIndex?destinationParent, int?destinationRow)`
* `beginRemoveColumns (self, QModelIndex?parent, int?first, int?last)`
* `beginRemoveRows (self, QModelIndex?parent, int?first, int?last)`
* `beginResetModel (self)`
* `QModelIndex buddy (self, QModelIndex?index)`
* `bool canFetchMore (self, QModelIndex?parent)`
* `changePersistentIndex (self, QModelIndex?from, QModelIndex?to)`
* `changePersistentIndexList (self, list-of-QModelIndex?from, list-of-QModelIndex?to)`
* `int columnCount (self, QModelIndex?parent?=?QModelIndex())`
* `QModelIndex createIndex (self, int?row, int?column, object?object?=?0)`
* `QVariant data (self, QModelIndex?index, int?role?=?Qt.DisplayRole)`
* `bool decodeData (self, int?row, int?column, QModelIndex?parent, QDataStream?stream)`
* `bool dropMimeData (self, QMimeData?data, Qt.DropAction?action, int?row, int?column, QModelIndex?parent)`
* `encodeData (self, list-of-QModelIndex?indexes, QDataStream?stream)`
* `endInsertColumns (self)`
* `endInsertRows (self)`
* `endMoveColumns (self)`
* `endMoveRows (self)`
* `endRemoveColumns (self)`
* `endRemoveRows (self)`
* `endResetModel (self)`
* `fetchMore (self, QModelIndex?parent)`
* `Qt.ItemFlags flags (self, QModelIndex?index)`
* `bool hasChildren (self, QModelIndex?parent?=?QModelIndex())`
* `bool hasIndex (self, int?row, int?column, QModelIndex?parent?=?QModelIndex())`
* `QVariant headerData (self, int?section, Qt.Orientation?orientation, int?role?=?Qt.DisplayRole)`
* `QModelIndex index (self, int?row, int?column, QModelIndex?parent?=?QModelIndex())`
* `bool insertColumn (self, int?column, QModelIndex?parent?=?QModelIndex())`
* `bool insertColumns (self, int?column, int?count, QModelIndex?parent?=?QModelIndex())`
* `bool insertRow (self, int?row, QModelIndex?parent?=?QModelIndex())`
* `bool insertRows (self, int?row, int?count, QModelIndex?parent?=?QModelIndex())`
* `dict-of-int-QVariant itemData (self, QModelIndex?index)`
* `list-of-QModelIndex match (self, QModelIndex?start, int?role, QVariant?value, int?hits?=?1, Qt.MatchFlags?flags?=?Qt.MatchStartsWith|Qt.MatchWrap)`
* `QMimeData mimeData (self, list-of-QModelIndex?indexes)`
* `QStringList mimeTypes (self)`
* `QModelIndex parent (self, QModelIndex?child)`
* `QObject parent (self)`
* `list-of-QModelIndex persistentIndexList (self)`
* `bool removeColumn (self, int?column, QModelIndex?parent?=?QModelIndex())`
* `bool removeColumns (self, int?column, int?count, QModelIndex?parent?=?QModelIndex())`
* `bool removeRow (self, int?row, QModelIndex?parent?=?QModelIndex())`
* `bool removeRows (self, int?row, int?count, QModelIndex?parent?=?QModelIndex())`
* `reset (self)`
* `resetInternalData (self)`
* `revert (self)`
* `dict-of-int-QByteArray roleNames (self)`
* `int rowCount (self, QModelIndex?parent?=?QModelIndex())`
* `bool setData (self, QModelIndex?index, QVariant?value, int?role?=?Qt.EditRole)`
* `bool setHeaderData (self, int?section, Qt.Orientation?orientation, QVariant?value, int?role?=?Qt.EditRole)`
* `bool setItemData (self, QModelIndex?index, dict-of-int-QVariant?roles)`
* `setRoleNames (self, dict-of-int-QByteArray?roleNames)`
* `setSupportedDragActions (self, Qt.DropActions)`
* `QModelIndex sibling (self, int?row, int?column, QModelIndex?idx)`
* `sort (self, int?column, Qt.SortOrder?order?=?Qt.AscendingOrder)`
* `QSize span (self, QModelIndex?index)`
* `bool submit (self)`
* `Qt.DropActions supportedDragActions (self)`
* `Qt.DropActions supportedDropActions (self)`
### Qt Signals
* `void columnsAboutToBeInserted (const QModelIndex&,int,int)`
* `void columnsAboutToBeMoved (const QModelIndex&,int,int,const QModelIndex&,int)`
* `void columnsAboutToBeRemoved (const QModelIndex&,int,int)`
* `void columnsInserted (const QModelIndex&,int,int)`
* `void columnsMoved (const QModelIndex&,int,int,const QModelIndex&,int)`
* `void columnsRemoved (const QModelIndex&,int,int)`
* `void dataChanged (const QModelIndex&,const QModelIndex&)`
* `void headerDataChanged (Qt::Orientation,int,int)`
* `void layoutAboutToBeChanged ()`
* `void layoutChanged ()`
* `void modelAboutToBeReset ()`
* `void modelReset ()`
* `void rowsAboutToBeInserted (const QModelIndex&,int,int)`
* `void rowsAboutToBeMoved (const QModelIndex&,int,int,const QModelIndex&,int)`
* `void rowsAboutToBeRemoved (const QModelIndex&,int,int)`
* `void rowsInserted (const QModelIndex&,int,int)`
* `void rowsMoved (const QModelIndex&,int,int,const QModelIndex&,int)`
* `void rowsRemoved (const QModelIndex&,int,int)`
* * *
## Detailed Description
該化QAbstractItemModel類提供抽象接口項目模型類。
在化QAbstractItemModel類定義了項目模型必須使用能夠與互操作在模型/視圖結構的其他組件的標準接口。它不應該被直接實例化。相反,你應該繼承它來創建新的模型。
該化QAbstractItemModel類是一個[Model/View Classes](index.htm)并且是Qt的一部分[model/view framework](index.htm)。
如果你需要一個模型與使用[QListView](qlistview.html)或[QTableView](qtableview.html),你應該考慮創建子類[QAbstractListModel](qabstractlistmodel.html) or [QAbstractTableModel](qabstracttablemodel.html)而不是這個類。
底層數據模型暴露的意見和代表作為表的層次結構。如果你不利用層次結構的,那么該模型是行和列的一個簡單的表。每個項目都有一個指定的唯一索引[QModelIndex](qmodelindex.html)。

數據的每一個項目,可以通過一個模型來訪問具有相關聯的模型索引。您可以使用獲得此模型的指數[index](qabstractitemmodel.html#index)()函數。每個索引可以具有[sibling](qabstractitemmodel.html#sibling)( )指數;子項有[parent](qabstractitemmodel.html#parent)( )指數。
每一個項目都有一個數字與它相關的數據元素,它們可以通過指定一個角色進行檢索(見[Qt.ItemDataRole](qt.html#ItemDataRole-enum))到模型的[data](qabstractitemmodel.html#data)()函數。可用于所有角色數據可以在同一時間使用獲得的[itemData](qabstractitemmodel.html#itemData)()函數。
每個角色數據是使用一個特定的設置[Qt.ItemDataRole](qt.html#ItemDataRole-enum)。對于個人角色數據被單獨設置[setData](qabstractitemmodel.html#setData)( ) ,或者它們可以為所有角色設定[setItemData](qabstractitemmodel.html#setItemData)( ) 。
項目可以與查詢[flags](qabstractitemmodel.html#flags)( ) (見[Qt.ItemFlag](qt.html#ItemFlag-enum)) ,看看他們是否可以選擇,拖動,或者以其它方式處理。
如果項目具有子對象,[hasChildren](qabstractitemmodel.html#hasChildren)( )為相應的索引返回True 。
該模型具有[rowCount](qabstractitemmodel.html#rowCount)()和一個[columnCount](qabstractitemmodel.html#columnCount)()的層次結構的各個層次。行和列可以被插入和移除[insertRows](qabstractitemmodel.html#insertRows)( )[insertColumns](qabstractitemmodel.html#insertColumns)( )[removeRows](qabstractitemmodel.html#removeRows)()和[removeColumns](qabstractitemmodel.html#removeColumns)( ) 。
該模型發出的信號來表示變化。例如,[dataChanged](qabstractitemmodel.html#dataChanged)( )被發射時由模型提供的數據項被改變。改變由模型事業提供的頭文件[headerDataChanged](qabstractitemmodel.html#headerDataChanged)()被發射。如果基礎數據的變化的結構中,該模型可發射[layoutChanged](qabstractitemmodel.html#layoutChanged)( )來表示任何附加意見,他們應該重新顯示出任何物品,采取新的結構考慮。
可通過模型中的項目可以使用來搜索特定的數據[match](qabstractitemmodel.html#match)()函數。
對模型進行排序,可以使用[sort](qabstractitemmodel.html#sort)( ) 。
### Subclassing
**Note:**可在子類化模型的一些通用準則[Model Subclassing Reference](index.htm#model-subclassing-reference)。
當子類化QAbstractItemModel ,最起碼必須實現[index](qabstractitemmodel.html#index)( )[parent](qabstractitemmodel.html#parent)( )[rowCount](qabstractitemmodel.html#rowCount)( )[columnCount](qabstractitemmodel.html#columnCount)()和[data](qabstractitemmodel.html#data)( ) 。這些功能全部采用只讀模式,并形成可編輯模型的基礎。
您也可以重新實現[hasChildren](qabstractitemmodel.html#hasChildren)( )提供模型的特殊行為,其中實施[rowCount](qabstractitemmodel.html#rowCount)()是昂貴的。這使得可以為模型,以限制由視圖請求的數據量,并且可以作為一種方法來實現的模型數據的懶惰人口。
為了使編輯在模型中,你還必須實現[setData](qabstractitemmodel.html#setData)( ) ,并重新實現[flags](qabstractitemmodel.html#flags)() ,以確保`ItemIsEditable`返回。您也可以重新實現[headerData](qabstractitemmodel.html#headerData)()和[setHeaderData](qabstractitemmodel.html#setHeaderData)( )來控制標題為您的模型呈現的方式。
該[dataChanged](qabstractitemmodel.html#dataChanged)()和[headerDataChanged](qabstractitemmodel.html#headerDataChanged)( )信號必須明確地重新實現時所發出的[setData](qabstractitemmodel.html#setData)()和[setHeaderData](qabstractitemmodel.html#setHeaderData)( )函數,分別為。
定制機型需要建立索引模型為其他組件使用。要做到這一點,請致電[createIndex](qabstractitemmodel.html#createIndex)( )與合適的行號和列號的項目,和一個標識符它,無論是作為一個指針或作為一個整數值。這些值的組合必須是唯一的每個項目。定制機型通常使用于其他函數重新實現這些唯一標識符來檢索項目數據和訪問有關該項目的家長和孩子的信息。請參閱[Simple Tree Model Example](index.htm)關于唯一標識符的詳細信息。
這是沒有必要的,以支持在每個定義的角色[Qt.ItemDataRole](qt.html#ItemDataRole-enum)。根據包含在一個模型內的數據的類型,它可能只實施是有用的[data](qabstractitemmodel.html#data)()函數返回有效信息的一些更常見的角色。大多數模型提供數據項的用于所述至少一個文本表示[Qt.DisplayRole](qt.html#ItemDataRole-enum),乖巧的車型也應該提供有效的信息為[Qt.ToolTipRole](qt.html#ItemDataRole-enum)和[Qt.WhatsThisRole](qt.html#ItemDataRole-enum)。支持這些角色使模型能與Qt的標準視圖中使用。然而,對于某些型號的處理高度專業化的數據,也可能是適當的,以提供數據僅用于用戶定義的角色。
模型,提供接口來調整大小的數據結構可以提供的實現[insertRows](qabstractitemmodel.html#insertRows)( )[removeRows](qabstractitemmodel.html#removeRows)( )[insertColumns](qabstractitemmodel.html#insertColumns)()和[removeColumns](qabstractitemmodel.html#removeColumns)( ) 。當實現這些功能,它通知有關更改模型的尺寸連接任何意見都是很重要_before_和_after_發生:
* An [insertRows](qabstractitemmodel.html#insertRows)() implementation must call [beginInsertRows](qabstractitemmodel.html#beginInsertRows)() _before_ inserting new rows into the data structure, and [endInsertRows](qabstractitemmodel.html#endInsertRows)() _immediately afterwards_.
* An [insertColumns](qabstractitemmodel.html#insertColumns)() implementation must call [beginInsertColumns](qabstractitemmodel.html#beginInsertColumns)() _before_ inserting new columns into the data structure, and [endInsertColumns](qabstractitemmodel.html#endInsertColumns)() _immediately afterwards_.
* A [removeRows](qabstractitemmodel.html#removeRows)() implementation must call [beginRemoveRows](qabstractitemmodel.html#beginRemoveRows)() _before_ the rows are removed from the data structure, and [endRemoveRows](qabstractitemmodel.html#endRemoveRows)() _immediately afterwards_.
* A [removeColumns](qabstractitemmodel.html#removeColumns)() implementation must call [beginRemoveColumns](qabstractitemmodel.html#beginRemoveColumns)() _before_ the columns are removed from the data structure, and [endRemoveColumns](qabstractitemmodel.html#endRemoveColumns)() _immediately afterwards_.
該_private_這些函數發出給連接組件的機會之前,任何數據采取行動的信號變得不可用。所述插入件的封裝和除去這些操作的開始和結束的功能還可以使模型的管理[persistent model indexes](qpersistentmodelindex.html)正確。**If you want selections to be handled properly, you must ensure that you call these functions.**如果你插入或刪除一個項目有孩子,你不需要調用這些函數的子項。換句話說,父項將其子項的照顧。
要創建填充增量模型,你可以重新實現[fetchMore](qabstractitemmodel.html#fetchMore)()和[canFetchMore](qabstractitemmodel.html#canFetchMore)( ) 。如果重新實現[fetchMore](qabstractitemmodel.html#fetchMore)( )添加行的模式,[beginInsertRows()](qabstractitemmodel.html#beginInsertRows)和[endInsertRows()](qabstractitemmodel.html#endInsertRows)必須被調用。
* * *
## Method Documentation
```
QAbstractItemModel.__init__ (self, QObject?parent?=?None)
```
該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。
構造一個抽象的概念模型與給定_parent_。
```
QAbstractItemModel.beginInsertColumns (self, QModelIndex?parent, int?first, int?last)
```
開始一個列的插入操作。
當重新實現[insertColumns](qabstractitemmodel.html#insertColumns)( )的一個子類,則必須調用此函數_before_將數據插入到模型的底層數據存儲。
該_parent_索引對應于被插入的新列的父;_first_和_last_是新列的列號將有被插入后,他們。
|  | Specify the first and last column numbers for the span of columns you want to insert into an item in a model.例如,如該圖所示,我們插入3列第4列之前,所以_first_是4和_last_是6 :
```
beginInsertColumns(parent, 4, 6);
```
這會插入三個新列的列4 , 5 ,和6 。 |
|  | To append columns, insert them after the last column.例如,如圖所示,我們追加三列六個現有列(第5列結束)的集合,所以_first_是6和_last_8 :
```
beginInsertColumns(parent, 6, 8);
```
這追加了兩個新列作為列6 , 7 ,和8。 |
**Note:**此功能會發出[columnsAboutToBeInserted](qabstractitemmodel.html#columnsAboutToBeInserted)(),它連接視圖(或股東代理人)信號必須處理插入數據之前。否則,意見最終可能會處于無效狀態。
**See also** [endInsertColumns](qabstractitemmodel.html#endInsertColumns)( ) 。
```
QAbstractItemModel.beginInsertRows (self, QModelIndex?parent, int?first, int?last)
```
開始的行插入操作。
當重新實現[insertRows](qabstractitemmodel.html#insertRows)( )的一個子類,則必須調用此函數_before_將數據插入到模型的底層數據存儲。
該_parent_索引對應于被插入新行的父;_first_和_last_是行號,新行將有被插入后,他們。
|  | Specify the first and last row numbers for the span of rows you want to insert into an item in a model.例如,如該圖所示,我們插入3行第2列之前,所以_first_是2和_last_是4 :
```
beginInsertRows(parent, 2, 4);
```
這會插入三個新行作為行2 , 3 ,和4 。 |
|  | To append rows, insert them after the last row.例如,如該圖所示,我們追加兩行的4現有的行(第3行結束)的集合,所以_first_是4和_last_是5 :
```
beginInsertRows(parent, 4, 5);
```
這追加兩個新行的行4和5 。 |
**Note:**此功能會發出[rowsAboutToBeInserted](qabstractitemmodel.html#rowsAboutToBeInserted)(),它連接視圖(或股東代理人)信號必須處理插入數據之前。否則,意見最終可能會處于無效狀態。
**See also** [endInsertRows](qabstractitemmodel.html#endInsertRows)( ) 。
```
bool QAbstractItemModel.beginMoveColumns (self, QModelIndex?sourceParent, int?sourceFirst, int?sourceLast, QModelIndex?destinationParent, int?destinationColumn)
```
開始一列移動操作。
當重新實現一個子類,這種方法在你的模型簡化移動實體。這個方法是負責移動持久指標在模型中,它,否則你會被要求做自己。使用beginMoveRows和endMoveRows是替代發光layoutAboutToBeChanged和layoutChanged直接隨著changePersistentIndexes 。 layoutAboutToBeChanged通過該方法出于兼容性原因射出。
該_sourceParent_索引對應于從該列移動的母公司;_sourceFirst_和_sourceLast_是該列的第一列和最后一列數字移動。該_destinationParent_索引對應于所述父到其中的那些列被移動。該_destinationChild_是該組將被移到該列。即,在列中的索引_sourceFirst_在_sourceParent_將成為列_destinationChild_在_destinationParent_,然后是所有其他列達_sourceLast_。
然而,在相同的父(移動列下來的時候_sourceParent_和_destinationParent_是相等的),則columnss將放置前的_destinationChild_索引。也就是說,如果你想移動列0和1,因此他們將成為列1和2 ,_destinationChild_應該是3 。在這種情況下,用于源列的新索引`i`(這是間_sourceFirst_和_sourceLast_)等于`(destinationChild-sourceLast-1+i)`。
注意,如果_sourceParent_和_destinationParent_都是一樣的,你必須確保_destinationChild_不是的范圍內_sourceFirst_和_sourceLast_+1。您還必須確保您不要嘗試將列移動到其自己的孩子或祖先之一。此方法返回False,如果任一條件為真,在這種情況下,你應該放棄你的移動操作。
此功能被引入Qt的4.6 。
**See also** [endMoveColumns](qabstractitemmodel.html#endMoveColumns)( ) 。
```
bool QAbstractItemModel.beginMoveRows (self, QModelIndex?sourceParent, int?sourceFirst, int?sourceLast, QModelIndex?destinationParent, int?destinationRow)
```
開始連續移動操作。
當重新實現一個子類,這種方法在你的模型簡化移動實體。這個方法是負責移動持久指標在模型中,它,否則你會被要求做自己。使用beginMoveRows和endMoveRows是替代發光layoutAboutToBeChanged和layoutChanged直接隨著changePersistentIndexes 。 layoutAboutToBeChanged通過該方法出于兼容性原因射出。
該_sourceParent_索引對應于從該行的移動母公司;_sourceFirst_和_sourceLast_是行的第一行和最后一行的數字移動。該_destinationParent_索引對應于所述父到其中的那些行被移動。該_destinationChild_是行,這些行會被感動。即,該指數在排_sourceFirst_在_sourceParent_將成為排_destinationChild_在_destinationParent_,接著所有其他行到_sourceLast_。
然而,在相同的父(移動排下來的時候_sourceParent_和_destinationParent_是相等的) ,這些行會被放置前的_destinationChild_索引。也就是說,如果你要移動的行0和1,因此他們將成為行1和2 ,_destinationChild_應該是3 。在這種情況下,用于源行新的索引`i`(這是間_sourceFirst_和_sourceLast_)等于`(destinationChild-sourceLast-1+i)`。
注意,如果_sourceParent_和_destinationParent_都是一樣的,你必須確保_destinationChild_不是的范圍內_sourceFirst_和_sourceLast_+1。您還必須確保您不要嘗試將行移動到其自己的孩子或祖先之一。此方法返回False,如果任一條件為真,在這種情況下,你應該放棄你的移動操作。
|  | Specify the first and last row numbers for the span of rows in the source parent you want to move in the model. Also specify the row in the destination parent to move the span to.例如,如該圖所示,我們將3行從行2至4中的源中,所以_sourceFirst_是2和_sourceLast_是4。我們將這些物品上面第2行的目的地,所以_destinationChild_是2。
```
beginMoveRows(sourceParent, 2, 4, destinationParent, 2);
```
這將移動源中的3行的行2 ,3和4 ,成為2 ,3和4中的目的地。其他受影響的兄弟姐妹都相應地偏移。 |
|  | To append rows to another parent, move them to after the last row.例如,如圖所示,我們把三排的6現有的行(在第5行結束)的集合,所以_destinationChild_是6 :
```
beginMoveRows(sourceParent, 2, 4, destinationParent, 6);
```
這將移動目標的行到目標父的末端為6,7和8 。 |
|  | To move rows within the same parent, specify the row to move them to.例如,如該圖所示,我們將一個項目從第2行到第0行,所以_sourceFirst_和_sourceLast_是2和_destinationChild_為0。
```
beginMoveRows(parent, 2, 2, parent, 0);
```
注意,其它行可以相應地移動。還要注意的是移動的同一個父內物品時,你不應該試圖無效或無操作動作。在上面的例子中,第2項是在移動之前排2 ,所以它不能被移動到第2行(其中,這已經是)或行3 (無操作如第3行的手段上述第3行,其中它已經是) |
|  | To move rows within the same parent, specify the row to move them to.例如,如該圖所示,我們將一個項目從第2行到第4行,所以_sourceFirst_和_sourceLast_是2和_destinationChild_是4。
```
beginMoveRows(parent, 2, 2, parent, 4);
```
注意,其它行可以相應地移動。 |
此功能被引入Qt的4.6 。
**See also** [endMoveRows](qabstractitemmodel.html#endMoveRows)( ) 。
```
QAbstractItemModel.beginRemoveColumns (self, QModelIndex?parent, int?first, int?last)
```
開始的列刪除操作。
當重新實現[removeColumns](qabstractitemmodel.html#removeColumns)( )的一個子類,則必須調用此函數_before_去除模型的底層數據存儲的數據。
該_parent_索引對應于從該新的列被刪除父;_first_和_last_是要移除的第一個和最后一列的列號。
|  | Specify the first and last column numbers for the span of columns you want to remove from an item in a model.例如,如該圖所示,我們從柱4取出3列至第6列,所以_first_是4和_last_是6 :
```
beginRemoveColumns(parent, 4, 6);
```
|
**Note:**此功能會發出[columnsAboutToBeRemoved](qabstractitemmodel.html#columnsAboutToBeRemoved)(),它連接視圖(或股東代理人)信號必須處理的數據被刪除之前。否則,意見最終可能會處于無效狀態。
**See also** [endRemoveColumns](qabstractitemmodel.html#endRemoveColumns)( ) 。
```
QAbstractItemModel.beginRemoveRows (self, QModelIndex?parent, int?first, int?last)
```
開始的行刪除操作。
當重新實現[removeRows](qabstractitemmodel.html#removeRows)( )的一個子類,則必須調用此函數_before_去除模型的底層數據存儲的數據。
該_parent_索引對應于從該新行被刪除的父;_first_和_last_將被刪除的行的行號。
|  | Specify the first and last row numbers for the span of rows you want to remove from an item in a model.例如,如該圖所示,我們從第2行取出兩排至3行中,所以_first_是2和_last_是3:
```
beginRemoveRows(parent, 2, 3);
```
|
**Note:**此功能會發出[rowsAboutToBeRemoved](qabstractitemmodel.html#rowsAboutToBeRemoved)(),它連接視圖(或股東代理人)信號必須處理的數據被刪除之前。否則,意見最終可能會處于無效狀態。
**See also** [endRemoveRows](qabstractitemmodel.html#endRemoveRows)( ) 。
```
QAbstractItemModel.beginResetModel (self)
```
開始一個模型復位操作。
復位操作模式重置為它的當前狀態在任何附加的看法。
**Note:**連接到這個模型中的任何意見都會被重置為好。
當一個模型被復位就意味著從模型報告的任何先前的數據現在是無效的,并且必須再次查詢的。這也意味著,目前的項目和任何選定的項目將變得無效。
當一個模型從根本上改變它的數據它有時是容易只是調用這個函數,而不是發出[dataChanged](qabstractitemmodel.html#dataChanged)( )當基礎數據源,或者它的結構,改變通知其他組件。
重置所有的內部數據結構中的模型或代理模型之前,必須調用此函數。
此功能被引入Qt的4.6 。
**See also** [modelAboutToBeReset](qabstractitemmodel.html#modelAboutToBeReset)( )[modelReset](qabstractitemmodel.html#modelReset)()和[endResetModel](qabstractitemmodel.html#endResetModel)( ) 。
```
QModelIndex QAbstractItemModel.buddy (self, QModelIndex?index)
```
[
返回由代表該項目的哥們一個模型索引_index_。當用戶希望編輯某個項目,視圖將調用這個函數來檢查模型中的另一個項目是否應該被編輯來代替。然后,視圖將使用由哥們項目返回的模型索引構造一個委讬。
此函數的默認實現每個項目作為自己的哥們。
```
bool QAbstractItemModel.canFetchMore (self, QModelIndex?parent)
```
返回True如果沒有可用于更多的數據_parent_否則返回False 。
默認的實現始終返回False 。
](qmodelindex.html)
[如果canFetchMore ( )返回True ,](qmodelindex.html)[QAbstractItemView](qabstractitemview.html)將調用[fetchMore](qabstractitemmodel.html#fetchMore)( ) 。然而,本[fetchMore](qabstractitemmodel.html#fetchMore)當模型被填充增量( )函數只被調用。
**See also** [fetchMore](qabstractitemmodel.html#fetchMore)( ) 。
```
QAbstractItemModel.changePersistentIndex (self, QModelIndex?from, QModelIndex?to)
```
更改[QPersistentModelIndex](qpersistentmodelindex.html)也就是等于給定_from_模型索引為給定的_to_模型索引。
如果沒有持續性模型指數等于給定_from_模型索引被發現,沒有什么改變。
**See also** [persistentIndexList](qabstractitemmodel.html#persistentIndexList)()和[changePersistentIndexList](qabstractitemmodel.html#changePersistentIndexList)( ) 。
```
QAbstractItemModel.changePersistentIndexList (self, list-of-QModelIndex?from, list-of-QModelIndex?to)
```
變化,它等于該索引中給出的QPersistentModelIndexes_from_模型索引列表,以給定的_to_模型索引列表。
如果沒有持久化模型的索引等于該指標在給定的_from_模型索引列表被發現,沒有什么改變。
這個函數是Qt 4.1中引入。
**See also** [persistentIndexList](qabstractitemmodel.html#persistentIndexList)()和[changePersistentIndex](qabstractitemmodel.html#changePersistentIndex)( ) 。
```
int QAbstractItemModel.columnCount (self, QModelIndex?parent?=?QModelIndex())
```
這種方法是抽象的,應在任何子類中重新實現。
返回列的數目為給定的子_parent_。
在大多數的子類,列數是獨立的_parent_。
例如:
```
int DomModel.columnCount(const [QModelIndex](qmodelindex.html) &/*parent*/) const
{
return 3;
}
```
**Note:**當實現一個基于表的模型,列數()應該返回0當父是有效的。
**See also** [rowCount](qabstractitemmodel.html#rowCount)( ) 。
```
QModelIndex QAbstractItemModel.createIndex (self, int?row, int?column, object?object?=?0)
```
[
創建用于給定一個模型索引_row_和_column_與內部指針_ptr_。
](qmodelindex.html)
[當使用一個](qmodelindex.html)[QSortFilterProxyModel](qsortfilterproxymodel.html),其指標有自己的內部指針。這是不可取的訪問此內部指針模型的外側。使用[data](qabstractitemmodel.html#data)( )函數來代替。
此功能提供了該模型的子類必須使用它來創建模型的索引一致的接口。
```
QVariant QAbstractItemModel.data (self, QModelIndex?index, int?role?=?Qt.DisplayRole)
```
這種方法是抽象的,應在任何子類中重新實現。
返回下指定存儲的數據_role_由所提及的項目_index_。
**Note:**如果你沒有一個值返回,返回**invalid** [QVariant](qvariant.html)而不是返回0 。
**See also** [Qt.ItemDataRole](qt.html#ItemDataRole-enum),[setData](qabstractitemmodel.html#setData)()和[headerData](qabstractitemmodel.html#headerData)( ) 。
```
bool QAbstractItemModel.decodeData (self, int?row, int?column, QModelIndex?parent, QDataStream?stream)
```
```
bool QAbstractItemModel.dropMimeData (self, QMimeData?data, Qt.DropAction?action, int?row, int?column, QModelIndex?parent)
```
處理_data_通過拖放操作,與給定的供給結束_action_。
返回True如果數據和動作可以通過模型來處理,否則返回False 。
指定_row_,_column_和_parent_表明在該操作結束,其中模型項的位置。它是該模型的責任完成動作在正確的位置。
例如,在一個上一個項目一個放置操作[QTreeView](qtreeview.html)可能導致要么被插入的項目由指定兒童的新項目_row_,_column_和_parent_,或作為該項目的兄弟姐妹。
When _row_和_column_是-1則表示放置的數據應被視為直接丟棄在_parent_。通常,這將意味著追加數據的子項_parent_。如果_row_和列都大于或等于零,則意味著降剛剛指定之前發生_row_和_column_在指定的_parent_。
**See also** [supportedDropActions](qabstractitemmodel.html#supportedDropActions)()和[Using drag and drop with item views](index.htm#using-drag-and-drop-with-item-views)。
```
QAbstractItemModel.encodeData (self, list-of-QModelIndex?indexes, QDataStream?stream)
```
```
QAbstractItemModel.endInsertColumns (self)
```
完一列的插入操作。
當重新實現[insertColumns](qabstractitemmodel.html#insertColumns)( )的一個子類,則必須調用此函數_after_將數據插入到模型的底層數據存儲。
**See also** [beginInsertColumns](qabstractitemmodel.html#beginInsertColumns)( ) 。
```
QAbstractItemModel.endInsertRows (self)
```
結尾的行插入操作。
當重新實現[insertRows](qabstractitemmodel.html#insertRows)( )的一個子類,則必須調用此函數_after_將數據插入到模型的底層數據存儲。
**See also** [beginInsertRows](qabstractitemmodel.html#beginInsertRows)( ) 。
```
QAbstractItemModel.endMoveColumns (self)
```
完一列移動操作。
當實現一個子類,則必須調用此函數_after_模型的底層數據存儲中移動數據。
layoutChanged通過該方法出于兼容性原因射出。
此功能被引入Qt的4.6 。
**See also** [beginMoveColumns](qabstractitemmodel.html#beginMoveColumns)( ) 。
```
QAbstractItemModel.endMoveRows (self)
```
完一排移動操作。
當實現一個子類,則必須調用此函數_after_模型的底層數據存儲中移動數據。
layoutChanged通過該方法出于兼容性原因射出。
此功能被引入Qt的4.6 。
**See also** [beginMoveRows](qabstractitemmodel.html#beginMoveRows)( ) 。
```
QAbstractItemModel.endRemoveColumns (self)
```
完一列刪除操作。
當重新實現[removeColumns](qabstractitemmodel.html#removeColumns)( )的一個子類,則必須調用此函數_after_去除模型的底層數據存儲的數據。
**See also** [beginRemoveColumns](qabstractitemmodel.html#beginRemoveColumns)( ) 。
```
QAbstractItemModel.endRemoveRows (self)
```
結束連續切除手術。
當重新實現[removeRows](qabstractitemmodel.html#removeRows)( )的一個子類,則必須調用此函數_after_去除模型的底層數據存儲的數據。
**See also** [beginRemoveRows](qabstractitemmodel.html#beginRemoveRows)( ) 。
```
QAbstractItemModel.endResetModel (self)
```
完成一個模型復位操作。
你必須在你的模型或代理模型重置任何內部數據結構之后,調用此函數。
此功能被引入Qt的4.6 。
**See also** [beginResetModel](qabstractitemmodel.html#beginResetModel)( ) 。
```
QAbstractItemModel.fetchMore (self, QModelIndex?parent)
```
獲取由指定的項目與父任何可用的數據_parent_索引。
重新實現這一點,如果你是填充模型增量。
默認實現不執行任何操作。
**See also** [canFetchMore](qabstractitemmodel.html#canFetchMore)( ) 。
```
Qt.ItemFlags QAbstractItemModel.flags (self, QModelIndex?index)
```
[
返回項標志為給定的_index_。
基類實現返回標志的組合,使該項目(`ItemIsEnabled`) ,并允許它被選中(`ItemIsSelectable`) 。
](index.htm)
[**See also**](index.htm) [Qt.ItemFlags](qt.html#ItemFlag-enum)。
```
bool QAbstractItemModel.hasChildren (self, QModelIndex?parent?=?QModelIndex())
```
返回True如果_parent_有任何子女;否則返回False。
使用[rowCount](qabstractitemmodel.html#rowCount)( )父,找出孩子的數量。
**See also** [parent](qabstractitemmodel.html#parent)()和[index](qabstractitemmodel.html#index)( ) 。
```
bool QAbstractItemModel.hasIndex (self, int?row, int?column, QModelIndex?parent?=?QModelIndex())
```
返回True如果模型返回一個有效的[QModelIndex](qmodelindex.html)為_row_和_column_同_parent_,否則返回False 。
```
QVariant QAbstractItemModel.headerData (self, int?section, Qt.Orientation?orientation, int?role?=?Qt.DisplayRole)
```
返回數據為給定的_role_和_section_在用指定的標頭_orientation_。
水平標頭,把該分區編號相對應的列數。類似地,對于垂直標題,章節號對應的行號。
**See also** [Qt.ItemDataRole](qt.html#ItemDataRole-enum),[setHeaderData](qabstractitemmodel.html#setHeaderData)()和[QHeaderView](qheaderview.html)。
```
QModelIndex QAbstractItemModel.index (self, int?row, int?column, QModelIndex?parent?=?QModelIndex())
```
[
這種方法是抽象的,應在任何子類中重新實現。
返回由給定指定的模型項的索引_row_,_column_和_parent_索引。
](qmodelindex.html)
[當重新實現在子類中這個函數,調用](qmodelindex.html)[createIndex](qabstractitemmodel.html#createIndex)()來生成其他組件可以用來參考的項目模型中的模型索引。
**See also** [createIndex](qabstractitemmodel.html#createIndex)( ) 。
```
bool QAbstractItemModel.insertColumn (self, int?column, QModelIndex?parent?=?QModelIndex())
```
給定前插入一列_column_中的子項_parent_規定。
返回True如果插入的列,否則返回False 。
**See also** [insertColumns](qabstractitemmodel.html#insertColumns)( )[insertRow](qabstractitemmodel.html#insertRow)()和[removeColumn](qabstractitemmodel.html#removeColumn)( ) 。
```
bool QAbstractItemModel.insertColumns (self, int?column, int?count, QModelIndex?parent?=?QModelIndex())
```
在支持此模式,插入_count_新列到模型中給定的前_column_。在每個新列中的項目將成為該項目由兒童代表_parent_模型索引。
If _column_為0時,列追加到任何現有的列。
If _column_ is [columnCount](qabstractitemmodel.html#columnCount)()中,列被附加到任何現有的列。
If _parent_沒有孩子,一個單列帶_count_列被插入。
返回True如果成功插入的列,否則返回False 。
基類的實現不執行任何操作并返回False 。
如果你實現了自己的模型,你可以,如果你想支持插入重新實現此功能。或者,您也可以提供自己的API,用于改變數據。
**See also** [insertRows](qabstractitemmodel.html#insertRows)( )[removeColumns](qabstractitemmodel.html#removeColumns)( )[beginInsertColumns](qabstractitemmodel.html#beginInsertColumns)()和[endInsertColumns](qabstractitemmodel.html#endInsertColumns)( ) 。
```
bool QAbstractItemModel.insertRow (self, int?row, QModelIndex?parent?=?QModelIndex())
```
**Note:**基類實現這個功能不執行任何操作并返回False 。
給定前插入一個單行_row_中的子項_parent_規定。
返回True如果被插入的行,否則返回False 。
**See also** [insertRows](qabstractitemmodel.html#insertRows)( )[insertColumn](qabstractitemmodel.html#insertColumn)()和[removeRow](qabstractitemmodel.html#removeRow)( ) 。
```
bool QAbstractItemModel.insertRows (self, int?row, int?count, QModelIndex?parent?=?QModelIndex())
```
**Note:**基類實現這個功能不執行任何操作并返回False 。
在支持此模式,插入_count_行插入到模型中給定前_row_。在新行項目將成為該項目由兒童代表_parent_模型索引。
If _row_為0時,行前加上父的任何現有行。
If _row_ is [rowCount](qabstractitemmodel.html#rowCount)( ) ,該行被追加到父任何現有行。
If _parent_沒有孩子,與一列_count_行插入。
返回True如果成功插入的行,否則返回False 。
如果你實現了自己的模型,你可以,如果你想支持插入重新實現此功能。或者,您也可以提供自己的API,用于改變數據。在這兩種情況下,你將需要調用[beginInsertRows](qabstractitemmodel.html#beginInsertRows)()和[endInsertRows](qabstractitemmodel.html#endInsertRows)() ,用于通知該模型已經改變其他組件。
**See also** [insertColumns](qabstractitemmodel.html#insertColumns)( )[removeRows](qabstractitemmodel.html#removeRows)( )[beginInsertRows](qabstractitemmodel.html#beginInsertRows)()和[endInsertRows](qabstractitemmodel.html#endInsertRows)( ) 。
```
dict-of-int-QVariant QAbstractItemModel.itemData (self, QModelIndex?index)
```
返回一個值模型對項目的所有預定義角色一個地圖上的指定_index_。
如果你想擴展這個功能的默認行為,包括在地圖上自定義角色重新實現這個函數。
**See also** [setItemData](qabstractitemmodel.html#setItemData)( )[Qt.ItemDataRole](qt.html#ItemDataRole-enum)和[data](qabstractitemmodel.html#data)( ) 。
```
list-of-QModelIndex QAbstractItemModel.match (self, QModelIndex?start, int?role, QVariant?value, int?hits?=?1, Qt.MatchFlags?flags?=?Qt.MatchStartsWith|Qt.MatchWrap)
```
返回索引中的列中的項目清單_start_如根據給定的存儲的數據索引_role_匹配指定_value_。搜索的執行方式是由定義_flags_給出。返回的列表可能是空的。
搜索開始從_start_指數,并繼續進行,直到匹配的數據項的數目等于_hits_,搜索到達最后一排,或者搜索到達_start_再次 - 這取決于是否`MatchWrap`在被指定_flags_。如果你想搜索所有匹配的項,請使用_hits_= -1 。
默認情況下,該功能將執行對所有項目的包裝,基于字符串的比較,尋找開頭所指定的搜索條件的項目_value_。
**Note:**這個函數的默認實現只搜索列。重新實現此功能可包括不同的搜索行為。
```
QMimeData QAbstractItemModel.mimeData (self, list-of-QModelIndex?indexes)
```
[
該_QMimeData_結果
](qmimedata.html)
[返回一個對象,它包含的數據序列化的項對應列表_indexes_規定。用于描述編碼數據的格式是從所獲得的](qmimedata.html)[mimeTypes](qabstractitemmodel.html#mimeTypes)()函數。
如果索引列表是空的,或者沒有支持的MIME類型,則返回0 ,而不是一個序列化的空單。
**See also** [mimeTypes](qabstractitemmodel.html#mimeTypes)()和[dropMimeData](qabstractitemmodel.html#dropMimeData)( ) 。
```
QStringList QAbstractItemModel.mimeTypes (self)
```
返回可用于描述模型索引的列表的MIME類型的列表。
**See also** [mimeData](qabstractitemmodel.html#mimeData)( ) 。
```
QModelIndex QAbstractItemModel.parent (self, QModelIndex?child)
```
[
這種方法是抽象的,應在任何子類中重新實現。
](qmodelindex.html)
[返回模型項目的父與給定_index_。如果該項目沒有父,無效](qmodelindex.html)[QModelIndex](qmodelindex.html)返回。
,揭露樹數據結構模型中使用一個共同的約定是,在第一列的項目只生孩子。對于這種情況,在子類中重新實現此功能,當返回的列[QModelIndex](qmodelindex.html)將是0 。
當重新實現在子類中這個功能,要小心避免調用[QModelIndex](qmodelindex.html)構件的功能,如[QModelIndex.parent](qmodelindex.html#parent)( ) ,因為屬于你的模型索引可以簡單的叫你的實現,從而導致無限遞歸。
**See also** [createIndex](qabstractitemmodel.html#createIndex)( ) 。
```
QObject QAbstractItemModel.parent (self)
```
[
```
list-of-QModelIndex QAbstractItemModel.persistentIndexList (self)
```
返回作為模型中的持久性索引的存儲的索引列表。
這個函數中引入了Qt 4.2中。
```
bool QAbstractItemModel.removeColumn (self, int?column, QModelIndex?parent?=?QModelIndex())
```
刪除給定的_column_從該子項_parent_規定。
Returns true if the column is removed; otherwise returns false.
](qobject.html)
[**See also**](qobject.html) [removeColumns](qabstractitemmodel.html#removeColumns)( )[removeRow](qabstractitemmodel.html#removeRow)()和[insertColumn](qabstractitemmodel.html#insertColumn)( ) 。
```
bool QAbstractItemModel.removeColumns (self, int?column, int?count, QModelIndex?parent?=?QModelIndex())
```
在支持此模式,會刪除_count_從給定的列_column_在父_parent_從模型。
返回True如果列被成功刪除,否則返回False 。
基類的實現不執行任何操作并返回False 。
如果你實現了自己的模型,你可以,如果你想支持刪除重新實現此功能。或者,您也可以提供自己的API,用于改變數據。
**See also** [removeColumn](qabstractitemmodel.html#removeColumn)( )[removeRows](qabstractitemmodel.html#removeRows)( )[insertColumns](qabstractitemmodel.html#insertColumns)( )[beginRemoveColumns](qabstractitemmodel.html#beginRemoveColumns)()和[endRemoveColumns](qabstractitemmodel.html#endRemoveColumns)( ) 。
```
bool QAbstractItemModel.removeRow (self, int?row, QModelIndex?parent?=?QModelIndex())
```
刪除給定的_row_從該子項_parent_規定。
返回True如果該行被刪除,否則返回False 。
這是一個方便的功能調用[removeRows](qabstractitemmodel.html#removeRows)( ) 。該[QAbstractItemModel](qabstractitemmodel.html)實施[removeRows](qabstractitemmodel.html#removeRows)( )什么也不做。
**See also** [removeRows](qabstractitemmodel.html#removeRows)( )[removeColumn](qabstractitemmodel.html#removeColumn)()和[insertRow](qabstractitemmodel.html#insertRow)( ) 。
```
bool QAbstractItemModel.removeRows (self, int?row, int?count, QModelIndex?parent?=?QModelIndex())
```
在支持此模式,會刪除_count_從給定的行_row_在父_parent_從模型。
返回True如果行被成功取出,否則返回False 。
基類的實現不執行任何操作并返回False 。
如果你實現了自己的模型,你可以,如果你想支持刪除重新實現此功能。或者,您也可以提供自己的API,用于改變數據。
**See also** [removeRow](qabstractitemmodel.html#removeRow)( )[removeColumns](qabstractitemmodel.html#removeColumns)( )[insertColumns](qabstractitemmodel.html#insertColumns)( )[beginRemoveRows](qabstractitemmodel.html#beginRemoveRows)()和[endRemoveRows](qabstractitemmodel.html#endRemoveRows)( ) 。
```
QAbstractItemModel.reset (self)
```
該模式重置為在任何連接的觀點其原始狀態。
**Note:**使用[beginResetModel](qabstractitemmodel.html#beginResetModel)()和[endResetModel](qabstractitemmodel.html#endResetModel)( ),而不是只要有可能。使用此方法只有在沒有辦法來調用[beginResetModel](qabstractitemmodel.html#beginResetModel)( )無效的模型前。否則,可能會導致意外的行為,與代理模式使用時尤其如此。
```
QAbstractItemModel.resetInternalData (self)
```
這種方法也是一個Qt槽與C + +的簽名`void resetInternalData()`。
這個槽被調用后只是一個模型的內部數據,而它被復位清零。
該槽設置的混凝土代理模型的子類的便利性,例如子類[QSortFilterProxyModel](qsortfilterproxymodel.html)它保持額外的數據。
```
class CustomDataProxy : public [QSortFilterProxyModel](qsortfilterproxymodel.html)
{
Q_OBJECT
public:
CustomDataProxy([QObject](qobject.html) *parent)
: [QSortFilterProxyModel](qsortfilterproxymodel.html)(parent)
{
}
...
[QVariant](qvariant.html) data(const [QModelIndex](qmodelindex.html) &index, int role)
{
if (role != [Qt](qt.html).BackgroundRole)
return [QSortFilterProxyModel](qsortfilterproxymodel.html).data(index, role);
if (m_customData.contains(index.row()))
return m_customData.value(index.row());
return [QSortFilterProxyModel](qsortfilterproxymodel.html).data(index, role);
}
private slots:
void resetInternalData()
{
m_customData.clear();
}
private:
[QHash](index.htm)<int, [QVariant](qvariant.html)> m_customData;
};
```
此功能被引入Qt的4.8 。
**See also** [modelAboutToBeReset](qabstractitemmodel.html#modelAboutToBeReset)()和[modelReset](qabstractitemmodel.html#modelReset)( ) 。
```
QAbstractItemModel.revert (self)
```
這種方法也是一個Qt槽與C + +的簽名`void revert()`。
讓模型知道它應該丟棄緩存信息。此功能通常用于行編輯。
**See also** [submit](qabstractitemmodel.html#submit)( ) 。
```
dict-of-int-QByteArray QAbstractItemModel.roleNames (self)
```
返回模型的角色名稱。
此功能被引入Qt的4.6 。
**See also** [setRoleNames](qabstractitemmodel.html#setRoleNames)( ) 。
```
int QAbstractItemModel.rowCount (self, QModelIndex?parent?=?QModelIndex())
```
這種方法是抽象的,應在任何子類中重新實現。
返回下給定的行數_parent_。當父是有效則表示rowCount等是返回父孩子的數量。
**Note:**當實現一個基于表的模型, rowCount等()應該返回0當父是有效的。
**See also** [columnCount](qabstractitemmodel.html#columnCount)( ) 。
```
bool QAbstractItemModel.setData (self, QModelIndex?index, QVariant?value, int?role?=?Qt.EditRole)
```
設置_role_對于在項目數據_index_至_value_。
成功返回True ,否則返回False 。
該[dataChanged](qabstractitemmodel.html#dataChanged)()信號應被發射,如果數據被成功設置。
基類實現返回False 。此功能與[data](qabstractitemmodel.html#data)( )必須被重新實現可編輯的模型。
**See also** [Qt.ItemDataRole](qt.html#ItemDataRole-enum),[data](qabstractitemmodel.html#data)()和[itemData](qabstractitemmodel.html#itemData)( ) 。
```
bool QAbstractItemModel.setHeaderData (self, int?section, Qt.Orientation?orientation, QVariant?value, int?role?=?Qt.EditRole)
```
設置數據為給定的_role_和_section_在用指定的標頭_orientation_到_value_提供。
返回True如果標頭的數據進行了更新,否則返回False 。
當重新實現此功能,[headerDataChanged](qabstractitemmodel.html#headerDataChanged)()信號必須被明確地射出。
**See also** [Qt.ItemDataRole](qt.html#ItemDataRole-enum)和[headerData](qabstractitemmodel.html#headerData)( ) 。
```
bool QAbstractItemModel.setItemData (self, QModelIndex?index, dict-of-int-QVariant?roles)
```
設置角色數據,該項目在_index_在相關聯的值_roles_,對于每[Qt.ItemDataRole](qt.html#ItemDataRole-enum)。
成功返回True ,否則返回False 。
角色不在_roles_將不會被修改。
**See also** [setData](qabstractitemmodel.html#setData)( )[data](qabstractitemmodel.html#data)()和[itemData](qabstractitemmodel.html#itemData)( ) 。
```
QAbstractItemModel.setRoleNames (self, dict-of-int-QByteArray?roleNames)
```
設置模型的角色名_roleNames_。
此功能允許在聲明式UI角色,屬性名角色標識符的映射。該模型使用之前這個函數必須被調用。該模型已被設置后,修改角色名,可能會導致未定義的行為。
此功能被引入Qt的4.6 。
**See also** [roleNames](qabstractitemmodel.html#roleNames)( ) 。
```
QAbstractItemModel.setSupportedDragActions (self, Qt.DropActions)
```
設置支持拖放_actions_為模型中的項。
這個函數中引入了Qt 4.2中。
**See also** [supportedDragActions](qabstractitemmodel.html#supportedDragActions)()和[Using drag and drop with item views](index.htm#using-drag-and-drop-with-item-views)。
```
QModelIndex QAbstractItemModel.sibling (self, int?row, int?column, QModelIndex?idx)
```
[](qmodelindex.html)
[返回在同級_row_和_column_對于在項目_index_,或無效](qmodelindex.html)[QModelIndex](qmodelindex.html)如果沒有兄弟在該位置。
兄弟( )只是一個方便的功能,發現該項目的父,并使用它來檢索指定的子項的索引_row_和_column_。
**See also** [index](qabstractitemmodel.html#index)( )[QModelIndex.row](qmodelindex.html#row)()和[QModelIndex.column](qmodelindex.html#column)( ) 。
```
QAbstractItemModel.sort (self, int?column, Qt.SortOrder?order?=?Qt.AscendingOrder)
```
通過排序模型_column_在給定的_order_。
基類的實現不執行任何操作。
```
QSize QAbstractItemModel.span (self, QModelIndex?index)
```
[
返回由所代表的項目的行和列跨度_index_。
**Note:**目前,不使用跨度。
```
bool QAbstractItemModel.submit (self)
```
這種方法也是一個Qt槽與C + +的簽名`bool submit()`。
讓模型知道它應該提交緩存信息到永久存儲。此功能通常用于行編輯。
返回True如果沒有錯誤,否則返回False 。
](qsize.html)
[**See also**](qsize.html) [revert](qabstractitemmodel.html#revert)( ) 。
```
Qt.DropActions QAbstractItemModel.supportedDragActions (self)
```
[
返回通過此模型中的數據所支持的行動。
](index.htm)
[默認實現返回](index.htm)[supportedDropActions](qabstractitemmodel.html#supportedDropActions)( ),除非特定的值被設置[setSupportedDragActions](qabstractitemmodel.html#setSupportedDragActions)( ) 。
supportedDragActions ( )是用來通過[QAbstractItemView.startDrag](qabstractitemview.html#startDrag)()作為當發生拖拽時的默認值。
**See also** [setSupportedDragActions](qabstractitemmodel.html#setSupportedDragActions)( )[Qt.DropActions](qt.html#DropAction-enum)和[Using drag and drop with item views](index.htm#using-drag-and-drop-with-item-views)。
```
Qt.DropActions QAbstractItemModel.supportedDropActions (self)
```
[
返回此模型所支持的放置動作。
](index.htm)
[默認實現返回](index.htm)[Qt.CopyAction](qt.html#DropAction-enum)。如果你想支持額外的動作重新實現這個函數。您還必須重新實現[dropMimeData](qabstractitemmodel.html#dropMimeData)( )函數來處理額外的操作。
這個函數中引入了Qt 4.2中。
**See also** [dropMimeData](qabstractitemmodel.html#dropMimeData)( )[Qt.DropActions](qt.html#DropAction-enum)和[Using drag and drop with item views](index.htm#using-drag-and-drop-with-item-views)。
* * *
## Qt Signal Documentation
```
void columnsAboutToBeInserted (const QModelIndex&,int,int)
```
這是該信號的默認超載。
這個信號被發射列被插入到模型之前。新項目將被定位之間_start_和_end_包容性,在給定的_parent_項目。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
**See also** [insertColumns](qabstractitemmodel.html#insertColumns)()和[beginInsertColumns](qabstractitemmodel.html#beginInsertColumns)( ) 。
```
void columnsAboutToBeMoved (const QModelIndex&,int,int,const QModelIndex&,int)
```
這是該信號的默認超載。
這個信號被發射之前列模型內移動。將要移動的項目是那些之間_sourceStart_和_sourceEnd_包容性,在給定的_sourceParent_項目。他們將被移動到_destinationParent_開始在列_destinationColumn_。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
此功能被引入Qt的4.6 。
**See also** [beginMoveRows](qabstractitemmodel.html#beginMoveRows)( ) 。
```
void columnsAboutToBeRemoved (const QModelIndex&,int,int)
```
這是該信號的默認超載。
這個信號被發射列被從模型中移除之前。要刪除的項目是指之間_start_和_end_包容性,在給定的_parent_項目。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
**See also** [removeColumns](qabstractitemmodel.html#removeColumns)()和[beginRemoveColumns](qabstractitemmodel.html#beginRemoveColumns)( ) 。
```
void columnsInserted (const QModelIndex&,int,int)
```
這是該信號的默認超載。
列被插入到模型中后,此信號被發射。新項目是指之間_start_和_end_包容性,在給定的_parent_項目。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
**See also** [insertColumns](qabstractitemmodel.html#insertColumns)()和[beginInsertColumns](qabstractitemmodel.html#beginInsertColumns)( ) 。
```
void columnsMoved (const QModelIndex&,int,int,const QModelIndex&,int)
```
這是該信號的默認超載。
這個信號被發射的模型內的列已被移動之后。之間的項目_sourceStart_和_sourceEnd_包容性,在給定的_sourceParent_項目已移至_destinationParent_開始在列_destinationColumn_。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
此功能被引入Qt的4.6 。
**See also** [beginMoveRows](qabstractitemmodel.html#beginMoveRows)( ) 。
```
void columnsRemoved (const QModelIndex&,int,int)
```
這是該信號的默認超載。
列已被從模型中移除之后,這個信號被發射。拆下的項目是那些之間_start_和_end_包容性,在給定的_parent_項目。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
**See also** [removeColumns](qabstractitemmodel.html#removeColumns)()和[beginRemoveColumns](qabstractitemmodel.html#beginRemoveColumns)( ) 。
```
void dataChanged (const QModelIndex&,const QModelIndex&)
```
這是該信號的默認超載。
這個信號被發射時在現有項目中的數據更改。
如果項目是相同的母公司,受影響的是那些之間_topLeft_和_bottomRight_包容性。如果該項目不具有相同的父,其行為是未定義的。
當重新實現[setData](qabstractitemmodel.html#setData)()函數,該信號必須被明確地射出。
**See also** [headerDataChanged](qabstractitemmodel.html#headerDataChanged)( )[setData](qabstractitemmodel.html#setData)()和[layoutChanged](qabstractitemmodel.html#layoutChanged)( ) 。
```
void headerDataChanged (Qt::Orientation,int,int)
```
這是該信號的默認超載。
這個信號被發射時的報頭被改變。該_orientation_表示水平或垂直頭是否已改變。在從標題中的章節_first_到_last_需要被更新。
當重新實現[setHeaderData](qabstractitemmodel.html#setHeaderData)()函數,該信號必須被明確地射出。
如果要更改的行或列數你不需要發出這個信號,但使用開始/結束功能(指在子類上一節[QAbstractItemModel](qabstractitemmodel.html)類描述詳情) 。
**See also** [headerData](qabstractitemmodel.html#headerData)( )[setHeaderData](qabstractitemmodel.html#setHeaderData)()和[dataChanged](qabstractitemmodel.html#dataChanged)( ) 。
```
void layoutAboutToBeChanged ()
```
這是該信號的默認超載。
這個信號被發射一個模型的布局被改變之前。連接到該信號成分用它來適應變化的模型的布局。
子類應發光layoutAboutToBeChanged ( )后更新任何持久性模型索引。
這個函數中引入了Qt 4.2中。
**See also** [layoutChanged](qabstractitemmodel.html#layoutChanged)()和[changePersistentIndex](qabstractitemmodel.html#changePersistentIndex)( ) 。
```
void layoutChanged ()
```
這是該信號的默認超載。
這個信號被發射時通過模型暴露項的布局改變了,例如,當該模型已排序。當收到一個針對這一信號,它應更新項目的布局,以反映這一變化。
當子類[QAbstractItemModel](qabstractitemmodel.html) or [QAbstractProxyModel](qabstractproxymodel.html),請確保您發出[layoutAboutToBeChanged](qabstractitemmodel.html#layoutAboutToBeChanged)( )改變項目的順序或改變你面對的看法,改變布局后發出layoutChanged ( )的數據結構之前。
子類應發光layoutChanged ( )之前更新任何持久性模型索引。換句話說,該結構變化時:
* emit layoutAboutToBeChanged
* Remember the [QModelIndex](qmodelindex.html) that will change
* Update your internal data
* Call [changePersistentIndex](qabstractitemmodel.html#changePersistentIndex)()
* emit layoutChanged
**See also** [layoutAboutToBeChanged](qabstractitemmodel.html#layoutAboutToBeChanged)( )[dataChanged](qabstractitemmodel.html#dataChanged)( )[headerDataChanged](qabstractitemmodel.html#headerDataChanged)( )[modelReset](qabstractitemmodel.html#modelReset)()和[changePersistentIndex](qabstractitemmodel.html#changePersistentIndex)( ) 。
```
void modelAboutToBeReset ()
```
這是該信號的默認超載。
這個信號被發射時[reset](qabstractitemmodel.html#reset)( )被調用時,模型的內部狀態(例如持久化模型指標)已經失效之前。
這個函數中引入了Qt 4.2中。
**See also** [beginResetModel](qabstractitemmodel.html#beginResetModel)()和[modelReset](qabstractitemmodel.html#modelReset)( ) 。
```
void modelReset ()
```
這是該信號的默認超載。
這個信號被發射時[reset](qabstractitemmodel.html#reset)( )被調用時,模型的內部狀態(例如持久化模型指標)已經無效后。
這個函數是Qt 4.1中引入。
**See also** [endResetModel](qabstractitemmodel.html#endResetModel)()和[modelAboutToBeReset](qabstractitemmodel.html#modelAboutToBeReset)( ) 。
```
void rowsAboutToBeInserted (const QModelIndex&,int,int)
```
這是該信號的默認超載。
這個信號被發射的行被插入到模型之前。新項目將被定位之間_start_和_end_包容性,在給定的_parent_項目。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
**See also** [insertRows](qabstractitemmodel.html#insertRows)()和[beginInsertRows](qabstractitemmodel.html#beginInsertRows)( ) 。
```
void rowsAboutToBeMoved (const QModelIndex&,int,int,const QModelIndex&,int)
```
這是該信號的默認超載。
這個信號被發射之前的行的模型內移動。將要移動的項目是那些之間_sourceStart_和_sourceEnd_包容性,在給定的_sourceParent_項目。他們將被移動到_destinationParent_開始于行_destinationRow_。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
此功能被引入Qt的4.6 。
**See also** [beginMoveRows](qabstractitemmodel.html#beginMoveRows)( ) 。
```
void rowsAboutToBeRemoved (const QModelIndex&,int,int)
```
這是該信號的默認超載。
這個信號被發射行從模型中刪除之前。將要刪除的項目是那些之間_start_和_end_包容性,在給定的_parent_項目。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
**See also** [removeRows](qabstractitemmodel.html#removeRows)()和[beginRemoveRows](qabstractitemmodel.html#beginRemoveRows)( ) 。
```
void rowsInserted (const QModelIndex&,int,int)
```
這是該信號的默認超載。
行被插入該模型之后,這個信號被發射。新項目是指之間_start_和_end_包容性,在給定的_parent_項目。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
**See also** [insertRows](qabstractitemmodel.html#insertRows)()和[beginInsertRows](qabstractitemmodel.html#beginInsertRows)( ) 。
```
void rowsMoved (const QModelIndex&,int,int,const QModelIndex&,int)
```
這是該信號的默認超載。
這個信號被發射的模型內的行已被移動之后。之間的項目_sourceStart_和_sourceEnd_包容性,在給定的_sourceParent_項目已移至_destinationParent_開始于行_destinationRow_。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
此功能被引入Qt的4.6 。
**See also** [beginMoveRows](qabstractitemmodel.html#beginMoveRows)( ) 。
```
void rowsRemoved (const QModelIndex&,int,int)
```
這是該信號的默認超載。
行已被從模型中移除之后,這個信號被發射。拆下的項目是那些之間_start_和_end_包容性,在給定的_parent_項目。
**Note:**連接到該信號成分用它來適應變化的模型的尺寸。它只能由發射[QAbstractItemModel](qabstractitemmodel.html)實現,并且不能明確地在子碼發射。
**See also** [removeRows](qabstractitemmodel.html#removeRows)()和[beginRemoveRows](qabstractitemmodel.html#beginRemoveRows)( ) 。
- PyQt4 中文文檔
- PyQt Class Reference
- QAbstractAnimation Class Reference
- QAbstractButton Class Reference
- QAbstractEventDispatcher Class Reference
- QAbstractExtensionFactory Class Reference
- QAbstractExtensionManager Class Reference
- QAbstractFileEngine Class Reference
- QAbstractFileEngineHandler Class Reference
- QAbstractFileEngineIterator Class Reference
- QAbstractFormBuilder Class Reference
- QAbstractGraphicsShapeItem Class Reference
- QAbstractItemDelegate Class Reference
- QAbstractItemModel Class Reference
- QAbstractItemView Class Reference
- QAbstractListModel Class Reference
- QAbstractMessageHandler Class Reference
- QAbstractNetworkCache Class Reference
- QAbstractPrintDialog Class Reference
- QAbstractProxyModel Class Reference
- QAbstractScrollArea Class Reference
- QAbstractSlider Class Reference
- QAbstractSocket Class Reference
- QAbstractSpinBox Class Reference
- QAbstractState Class Reference
- QAbstractTableModel Class Reference
- QAbstractTextDocumentLayout Class Reference
- QAbstractTransition Class Reference
- QAbstractUriResolver Class Reference
- QAbstractVideoBuffer Class Reference
- QAbstractVideoSurface Class Reference
- QAbstractXmlNodeModel Class Reference
- QAbstractXmlReceiver Class Reference
- QAction Class Reference
- QActionEvent Class Reference
- QActionGroup Class Reference
- QAnimationGroup Class Reference
- QApplication Class Reference
- QAssistantClient Class Reference
- QAudio Class Reference
- QAudioDeviceInfo Class Reference
- QAudioFormat Class Reference
- QAudioInput Class Reference
- QAudioOutput Class Reference
- QAuthenticator Class Reference
- QBasicTimer Class Reference
- QBitArray Class Reference
- QBitmap Class Reference
- QBoxLayout Class Reference
- QBrush Class Reference
- QBuffer Class Reference
- QButtonGroup Class Reference
- QByteArray Class Reference
- QByteArrayMatcher Class Reference
- QCalendarWidget Class Reference
- QChar Class Reference
- QCheckBox Class Reference
- QChildEvent Class Reference
- QClipboard Class Reference
- QCloseEvent Class Reference
- QColor Class Reference
- QColorDialog Class Reference
- QColumnView Class Reference
- QComboBox Class Reference
- QCommandLinkButton Class Reference
- QCommonStyle Class Reference
- QCompleter Class Reference
- QConicalGradient Class Reference
- QContextMenuEvent Class Reference
- QCoreApplication Class Reference
- QCryptographicHash Class Reference
- QCursor Class Reference
- QDataStream Class Reference
- QDataWidgetMapper Class Reference
- QDate Class Reference
- QDateEdit Class Reference
- QDateTime Class Reference
- QDateTimeEdit Class Reference
- QDBus Class Reference
- QDBusAbstractAdaptor Class Reference
- QDBusAbstractInterface Class Reference
- QDBusArgument Class Reference
- QDBusConnection Class Reference
- QDBusConnectionInterface Class Reference
- QDBusError Class Reference
- QDBusInterface Class Reference
- QDBusMessage Class Reference
- QDBusObjectPath Class Reference
- QDBusPendingCall Class Reference
- QDBusPendingCallWatcher Class Reference
- QDBusPendingReply Class Reference
- QDBusReply Class Reference
- QDBusServiceWatcher Class Reference
- QDBusSignature Class Reference
- QDBusUnixFileDescriptor Class Reference
- QDBusVariant Class Reference
- QDeclarativeComponent Class Reference
- QDeclarativeContext Class Reference
- QDeclarativeEngine Class Reference
- QDeclarativeError Class Reference
- QDeclarativeExpression Class Reference
- QDeclarativeExtensionPlugin Class Reference
- QDeclarativeImageProvider Class Reference
- QDeclarativeItem Class Reference
- QDeclarativeListReference Class Reference
- QDeclarativeNetworkAccessManagerFactory Class Reference
- QDeclarativeParserStatus Class Reference
- QDeclarativeProperty Class Reference
- QDeclarativePropertyMap Class Reference
- QDeclarativePropertyValueSource Class Reference
- QDeclarativeScriptString Class Reference
- QDeclarativeView Class Reference
- QDesignerActionEditorInterface Class Reference
- QDesignerContainerExtension Class Reference
- QDesignerCustomWidgetCollectionInterface Class Reference
- QDesignerCustomWidgetInterface Class Reference
- QDesignerFormEditorInterface Class Reference
- QDesignerFormWindowCursorInterface Class Reference
- QDesignerFormWindowInterface Class Reference
- QDesignerFormWindowManagerInterface Class Reference
- QDesignerMemberSheetExtension Class Reference
- QDesignerObjectInspectorInterface Class Reference
- QDesignerPropertyEditorInterface Class Reference
- QDesignerPropertySheetExtension Class Reference
- QDesignerTaskMenuExtension Class Reference
- QDesignerWidgetBoxInterface Class Reference
- QDesktopServices Class Reference
- QDesktopWidget Class Reference
- QDial Class Reference
- QDialog Class Reference
- QDialogButtonBox Class Reference
- QDir Class Reference
- QDirIterator Class Reference
- QDirModel Class Reference
- QDockWidget Class Reference
- QDomAttr Class Reference
- QDomCDATASection Class Reference
- QDomCharacterData Class Reference
- QDomComment Class Reference
- QDomDocument Class Reference
- QDomDocumentFragment Class Reference
- QDomDocumentType Class Reference
- QDomElement Class Reference
- QDomEntity Class Reference
- QDomEntityReference Class Reference
- QDomImplementation Class Reference
- QDomNamedNodeMap Class Reference
- QDomNode Class Reference
- QDomNodeList Class Reference
- QDomNotation Class Reference
- QDomProcessingInstruction Class Reference
- QDomText Class Reference
- QDoubleSpinBox Class Reference
- QDoubleValidator Class Reference
- QDrag Class Reference
- QDragEnterEvent Class Reference
- QDragLeaveEvent Class Reference
- QDragMoveEvent Class Reference
- QDropEvent Class Reference
- QDynamicPropertyChangeEvent Class Reference
- QEasingCurve Class Reference
- QElapsedTimer Class Reference
- QErrorMessage Class Reference
- QEvent Class Reference
- QEventLoop Class Reference
- QEventTransition Class Reference
- QExtensionFactory Class Reference
- QExtensionManager Class Reference
- QFile Class Reference
- QFileDialog Class Reference
- QFileIconProvider Class Reference
- QFileInfo Class Reference
- QFileOpenEvent Class Reference
- QFileSystemModel Class Reference
- QFileSystemWatcher Class Reference
- QFinalState Class Reference
- QFocusEvent Class Reference
- QFocusFrame Class Reference
- QFont Class Reference
- QFontComboBox Class Reference
- QFontDatabase Class Reference
- QFontDialog Class Reference
- QFontInfo Class Reference
- QFontMetrics Class Reference
- QFontMetricsF Class Reference
- QFormBuilder Class Reference
- QFormLayout Class Reference
- QFrame Class Reference
- QFSFileEngine Class Reference
- QFtp Class Reference
- QGenericArgument Class Reference
- QGenericReturnArgument Class Reference
- QGesture Class Reference
- QGestureEvent Class Reference
- QGestureRecognizer Class Reference
- QGL Class Reference
- QGLBuffer Class Reference
- QGLColormap Class Reference
- QGLContext Class Reference
- QGLFormat Class Reference
- QGLFramebufferObject Class Reference
- QGLFramebufferObjectFormat Class Reference
- QGLPixelBuffer Class Reference
- QGLShader Class Reference
- QGLShaderProgram Class Reference
- QGLWidget Class Reference
- QGlyphRun Class Reference
- QGradient Class Reference
- QGraphicsAnchor Class Reference
- QGraphicsAnchorLayout Class Reference
- QGraphicsBlurEffect Class Reference
- QGraphicsColorizeEffect Class Reference
- QGraphicsDropShadowEffect Class Reference
- QGraphicsEffect Class Reference
- QGraphicsEllipseItem Class Reference
- QGraphicsGridLayout Class Reference
- QGraphicsItem Class Reference
- QGraphicsItemAnimation Class Reference
- QGraphicsItemGroup Class Reference
- QGraphicsLayout Class Reference
- QGraphicsLayoutItem Class Reference
- QGraphicsLinearLayout Class Reference
- QGraphicsLineItem Class Reference
- QGraphicsObject Class Reference
- QGraphicsOpacityEffect Class Reference
- QGraphicsPathItem Class Reference
- QGraphicsPixmapItem Class Reference
- QGraphicsPolygonItem Class Reference
- QGraphicsProxyWidget Class Reference
- QGraphicsRectItem Class Reference
- QGraphicsRotation Class Reference
- QGraphicsScale Class Reference
- QGraphicsScene Class Reference
- QGraphicsSceneContextMenuEvent Class Reference
- QGraphicsSceneDragDropEvent Class Reference
- QGraphicsSceneEvent Class Reference
- QGraphicsSceneHelpEvent Class Reference
- QGraphicsSceneHoverEvent Class Reference
- QGraphicsSceneMouseEvent Class Reference
- QGraphicsSceneMoveEvent Class Reference
- QGraphicsSceneResizeEvent Class Reference
- QGraphicsSceneWheelEvent Class Reference
- QGraphicsSimpleTextItem Class Reference
- QGraphicsSvgItem Class Reference
- QGraphicsTextItem Class Reference
- QGraphicsTransform Class Reference
- QGraphicsView Class Reference
- QGraphicsWebView Class Reference
- QGraphicsWidget Class Reference
- QGridLayout Class Reference
- QGroupBox Class Reference
- QHBoxLayout Class Reference
- QHeaderView Class Reference
- QHelpContentItem Class Reference
- QHelpContentModel Class Reference
- QHelpContentWidget Class Reference
- QHelpEngine Class Reference
- QHelpEngineCore Class Reference
- QHelpEvent Class Reference
- QHelpIndexModel Class Reference
- QHelpIndexWidget Class Reference
- QHelpSearchEngine Class Reference
- QHelpSearchQuery Class Reference
- QHelpSearchQueryWidget Class Reference
- QHelpSearchResultWidget Class Reference
- QHideEvent Class Reference
- QHistoryState Class Reference
- QHostAddress Class Reference
- QHostInfo Class Reference
- QHoverEvent Class Reference
- QHttp Class Reference
- QHttpHeader Class Reference
- QHttpMultiPart Class Reference
- QHttpPart Class Reference
- QHttpRequestHeader Class Reference
- QHttpResponseHeader Class Reference
- QIcon Class Reference
- QIconDragEvent Class Reference
- QIconEngine Class Reference
- QIconEngineV2 Class Reference
- QIdentityProxyModel Class Reference
- QImage Class Reference
- QImageIOHandler Class Reference
- QImageReader Class Reference
- QImageWriter Class Reference
- QInputContext Class Reference
- QInputContextFactory Class Reference
- QInputDialog Class Reference
- QInputEvent Class Reference
- QInputMethodEvent Class Reference
- QIntValidator Class Reference
- QIODevice Class Reference
- QItemDelegate Class Reference
- QItemEditorCreatorBase Class Reference
- QItemEditorFactory Class Reference
- QItemSelection Class Reference
- QItemSelectionModel Class Reference
- QItemSelectionRange Class Reference
- QKeyEvent Class Reference
- QKeyEventTransition Class Reference
- QKeySequence Class Reference
- QLabel Class Reference
- QLatin1Char Class Reference
- QLatin1String Class Reference
- QLayout Class Reference
- QLayoutItem Class Reference
- QLCDNumber Class Reference
- QLibrary Class Reference
- QLibraryInfo Class Reference
- QLine Class Reference
- QLinearGradient Class Reference
- QLineEdit Class Reference
- QLineF Class Reference
- QListView Class Reference
- QListWidget Class Reference
- QListWidgetItem Class Reference
- QLocale Class Reference
- QLocalServer Class Reference
- QLocalSocket Class Reference
- QMainWindow Class Reference
- QMargins Class Reference
- QMatrix Class Reference
- QMatrix2x2 Class Reference
- QMatrix2x3 Class Reference
- QMatrix2x4 Class Reference
- QMatrix3x2 Class Reference
- QMatrix3x3 Class Reference
- QMatrix3x4 Class Reference
- QMatrix4x2 Class Reference
- QMatrix4x3 Class Reference
- QMatrix4x4 Class Reference
- QMdiArea Class Reference
- QMdiSubWindow Class Reference
- QMenu Class Reference
- QMenuBar Class Reference
- QMessageBox Class Reference
- QMetaClassInfo Class Reference
- QMetaEnum Class Reference
- QMetaMethod Class Reference
- QMetaObject Class Reference
- QMetaProperty Class Reference
- QMetaType Class Reference
- QMimeData Class Reference
- QMimeSource Class Reference
- QModelIndex Class Reference
- QMouseEvent Class Reference
- QMouseEventTransition Class Reference
- QMoveEvent Class Reference
- QMovie Class Reference
- QMutex Class Reference
- QMutexLocker Class Reference
- QNetworkAccessManager Class Reference
- QNetworkAddressEntry Class Reference
- QNetworkCacheMetaData Class Reference
- QNetworkConfiguration Class Reference
- QNetworkConfigurationManager Class Reference
- QNetworkCookie Class Reference
- QNetworkCookieJar Class Reference
- QNetworkDiskCache Class Reference
- QNetworkInterface Class Reference
- QNetworkProxy Class Reference
- QNetworkProxyFactory Class Reference
- QNetworkProxyQuery Class Reference
- QNetworkReply Class Reference
- QNetworkRequest Class Reference
- QNetworkSession Class Reference
- QObject Class Reference
- QObjectCleanupHandler Class Reference
- QPageSetupDialog Class Reference
- QPaintDevice Class Reference
- QPaintEngine Class Reference
- QPaintEngineState Class Reference
- QPainter Class Reference
- QPainterPath Class Reference
- QPainterPathStroker Class Reference
- QPaintEvent Class Reference
- QPalette Class Reference
- QPanGesture Class Reference
- QParallelAnimationGroup Class Reference
- QPauseAnimation Class Reference
- QPen Class Reference
- QPersistentModelIndex Class Reference
- QPicture Class Reference
- QPictureIO Class Reference
- QPinchGesture Class Reference
- QPixmap Class Reference
- QPixmapCache Class Reference
- QPlainTextDocumentLayout Class Reference
- QPlainTextEdit Class Reference
- QPluginLoader Class Reference
- QPoint Class Reference
- QPointF Class Reference
- QPolygon Class Reference
- QPolygonF Class Reference
- QPrintDialog Class Reference
- QPrintEngine Class Reference
- QPrinter Class Reference
- QPrinterInfo Class Reference
- QPrintPreviewDialog Class Reference
- QPrintPreviewWidget Class Reference
- QProcess Class Reference
- QProcessEnvironment Class Reference
- QProgressBar Class Reference
- QProgressDialog Class Reference
- QPropertyAnimation Class Reference
- QProxyModel Class Reference
- QPushButton Class Reference
- QPyDeclarativePropertyValueSource Class Reference
- QPyDesignerContainerExtension Class Reference
- QPyDesignerCustomWidgetCollectionPlugin Class Reference
- QPyDesignerCustomWidgetPlugin Class Reference
- QPyDesignerMemberSheetExtension Class Reference
- QPyDesignerPropertySheetExtension Class Reference
- QPyDesignerTaskMenuExtension Class Reference
- QPyNullVariant Class Reference
- QPyTextObject Class Reference
- QQuaternion Class Reference
- QRadialGradient Class Reference
- QRadioButton Class Reference
- QRawFont Class Reference
- QReadLocker Class Reference
- QReadWriteLock Class Reference
- QRect Class Reference
- QRectF Class Reference
- QRegExp Class Reference
- QRegExpValidator Class Reference
- QRegion Class Reference
- QResizeEvent Class Reference
- QResource Class Reference
- QRubberBand Class Reference
- QRunnable Class Reference
- QScriptClass Class Reference
- QScriptClassPropertyIterator Class Reference
- QScriptContext Class Reference
- QScriptContextInfo Class Reference
- QScriptEngine Class Reference
- QScriptEngineAgent Class Reference
- QScriptEngineDebugger Class Reference
- QScriptString Class Reference
- QScriptSyntaxCheckResult Class Reference
- QScriptValue Class Reference
- QScriptValueIterator Class Reference
- QScrollArea Class Reference
- QScrollBar Class Reference
- QSemaphore Class Reference
- QSequentialAnimationGroup Class Reference
- QSessionManager Class Reference
- QSettings Class Reference
- QSharedMemory Class Reference
- QShortcut Class Reference
- QShortcutEvent Class Reference
- QShowEvent Class Reference
- QSignalMapper Class Reference
- QSignalTransition Class Reference
- QSimpleXmlNodeModel Class Reference
- QSize Class Reference
- QSizeF Class Reference
- QSizeGrip Class Reference
- QSizePolicy Class Reference
- QSlider Class Reference
- QSocketNotifier Class Reference
- QSortFilterProxyModel Class Reference
- QSound Class Reference
- QSourceLocation Class Reference
- QSpacerItem Class Reference
- QSpinBox Class Reference
- QSplashScreen Class Reference
- QSplitter Class Reference
- QSplitterHandle Class Reference
- QSql Class Reference
- QSqlDatabase Class Reference
- QSqlDriver Class Reference
- QSqlDriverCreatorBase Class Reference
- QSqlError Class Reference
- QSqlField Class Reference
- QSqlIndex Class Reference
- QSqlQuery Class Reference
- QSqlQueryModel Class Reference
- QSqlRecord Class Reference
- QSqlRelation Class Reference
- QSqlRelationalDelegate Class Reference
- QSqlRelationalTableModel Class Reference
- QSqlResult Class Reference
- QSqlTableModel Class Reference
- Qt4.7文檔翻譯:Qt樣式單參考,Qt Style Sheets Reference
- QSsl Class Reference
- QSslCertificate Class Reference
- QSslCipher Class Reference
- QSslConfiguration Class Reference
- QSslError Class Reference
- QSslKey Class Reference
- QSslSocket Class Reference
- QStackedLayout Class Reference
- QStackedWidget Class Reference
- QStandardItem Class Reference
- QStandardItemModel Class Reference
- QState Class Reference
- QStateMachine Class Reference
- QStaticText Class Reference
- QStatusBar Class Reference
- QStatusTipEvent Class Reference
- QString Class Reference
- QStringList Class Reference
- QStringListModel Class Reference
- QStringMatcher Class Reference
- QStringRef Class Reference
- QStyle Class Reference
- QStyledItemDelegate Class Reference
- QStyleFactory Class Reference
- QStyleHintReturn Class Reference
- QStyleHintReturnMask Class Reference
- QStyleHintReturnVariant Class Reference
- QStyleOption Class Reference
- QStyleOptionButton Class Reference
- QStyleOptionComboBox Class Reference
- QStyleOptionComplex Class Reference
- QStyleOptionDockWidget Class Reference
- QStyleOptionDockWidgetV2 Class Reference
- QStyleOptionFocusRect Class Reference
- QStyleOptionFrame Class Reference
- QStyleOptionFrameV2 Class Reference
- QStyleOptionFrameV3 Class Reference
- QStyleOptionGraphicsItem Class Reference
- QStyleOptionGroupBox Class Reference
- QStyleOptionHeader Class Reference
- QStyleOptionMenuItem Class Reference
- QStyleOptionProgressBar Class Reference
- QStyleOptionProgressBarV2 Class Reference
- QStyleOptionRubberBand Class Reference
- QStyleOptionSizeGrip Class Reference
- QStyleOptionSlider Class Reference
- QStyleOptionSpinBox Class Reference
- QStyleOptionTab Class Reference
- QStyleOptionTabBarBase Class Reference
- QStyleOptionTabBarBaseV2 Class Reference
- QStyleOptionTabV2 Class Reference
- QStyleOptionTabV3 Class Reference
- QStyleOptionTabWidgetFrame Class Reference
- QStyleOptionTabWidgetFrameV2 Class Reference
- QStyleOptionTitleBar Class Reference
- QStyleOptionToolBar Class Reference
- QStyleOptionToolBox Class Reference
- QStyleOptionToolBoxV2 Class Reference
- QStyleOptionToolButton Class Reference
- QStyleOptionViewItem Class Reference
- QStyleOptionViewItemV2 Class Reference
- QStyleOptionViewItemV3 Class Reference
- QStyleOptionViewItemV4 Class Reference
- QStylePainter Class Reference
- QSvgGenerator Class Reference
- QSvgRenderer Class Reference
- QSvgWidget Class Reference
- QSwipeGesture Class Reference
- QSyntaxHighlighter Class Reference
- QSysInfo Class Reference
- QSystemLocale Class Reference
- QSystemSemaphore Class Reference
- QSystemTrayIcon Class Reference
- Qt Class Reference
- QTabBar Class Reference
- QTabletEvent Class Reference
- QTableView Class Reference
- QTableWidget Class Reference
- QTableWidgetItem Class Reference
- QTableWidgetSelectionRange Class Reference
- QTabWidget Class Reference
- QTapAndHoldGesture Class Reference
- QTapGesture Class Reference
- QTcpServer Class Reference
- QTcpSocket Class Reference
- QTemporaryFile Class Reference
- QTest Class Reference
- QTextBlock Class Reference
- QTextBlockFormat Class Reference
- QTextBlockGroup Class Reference
- QTextBlockUserData Class Reference
- QTextBoundaryFinder Class Reference
- QTextBrowser Class Reference
- QTextCharFormat Class Reference
- QTextCodec Class Reference
- QTextCursor Class Reference
- QTextDecoder Class Reference
- QTextDocument Class Reference
- QTextDocumentFragment Class Reference
- QTextDocumentWriter Class Reference
- QTextEdit Class Reference
- QTextEncoder Class Reference
- QTextFormat Class Reference
- QTextFragment Class Reference
- QTextFrame Class Reference
- QTextFrameFormat Class Reference
- QTextImageFormat Class Reference
- QTextInlineObject Class Reference
- QTextItem Class Reference
- QTextLayout Class Reference
- QTextLength Class Reference
- QTextLine Class Reference
- QTextList Class Reference
- QTextListFormat Class Reference
- QTextObject Class Reference
- QTextObjectInterface Class Reference
- QTextOption Class Reference
- QTextStream Class Reference
- QTextTable Class Reference
- QTextTableCell Class Reference
- QTextTableCellFormat Class Reference
- QTextTableFormat Class Reference
- QThread Class Reference
- QThreadPool Class Reference
- QTime Class Reference
- QTimeEdit Class Reference
- QTimeLine Class Reference
- QTimer Class Reference
- QTimerEvent Class Reference
- QToolBar Class Reference
- QToolBox Class Reference
- QToolButton Class Reference
- QToolTip Class Reference
- QTouchEvent Class Reference
- Reference
- QTransform Class Reference
- QTranslator Class Reference
- QTreeView Class Reference
- QTreeWidget Class Reference
- QTreeWidgetItem Class Reference
- QTreeWidgetItemIterator Class Reference
- QUdpSocket Class Reference
- QUndoCommand Class Reference
- QUndoGroup Class Reference
- QUndoStack Class Reference
- QUndoView Class Reference
- QUrl Class Reference
- QUrlInfo Class Reference
- QUuid Class Reference
- QValidator Class Reference
- QVariant Class Reference
- QVariantAnimation Class Reference
- QVBoxLayout Class Reference
- QVector2D Class Reference
- QVector3D Class Reference
- QVector4D Class Reference
- QVideoFrame Class Reference
- QVideoSurfaceFormat Class Reference
- QWaitCondition Class Reference
- QWebDatabase Class Reference
- QWebElement Class Reference
- QWebElementCollection Class Reference
- QWebFrame Class Reference
- QWebHistory Class Reference
- QWebHistoryInterface Class Reference
- QWebHistoryItem Class Reference
- QWebHitTestResult Class Reference
- QWebInspector Class Reference
- QWebPage Class Reference
- QWebPluginFactory Class Reference
- QWebSecurityOrigin Class Reference
- QWebSettings Class Reference
- QWebView Class Reference
- QWhatsThis Class Reference
- QWhatsThisClickedEvent Class Reference
- QWheelEvent Class Reference
- QWidget Class Reference
- QWidgetAction Class Reference
- QWidgetItem Class Reference
- QWindowStateChangeEvent Class Reference
- QWizard Class Reference
- QWizardPage Class Reference
- QWorkspace Class Reference
- QWriteLocker Class Reference
- QX11EmbedContainer Class Reference
- QX11EmbedWidget Class Reference
- QX11Info Class Reference
- QXmlAttributes Class Reference
- QXmlContentHandler Class Reference
- QXmlDeclHandler Class Reference
- QXmlDefaultHandler Class Reference
- QXmlDTDHandler Class Reference
- QXmlEntityResolver Class Reference
- QXmlErrorHandler Class Reference
- QXmlFormatter Class Reference
- QXmlInputSource Class Reference
- QXmlItem Class Reference
- QXmlLexicalHandler Class Reference
- QXmlLocator Class Reference
- QXmlName Class Reference
- QXmlNamePool Class Reference
- QXmlNamespaceSupport Class Reference
- QXmlNodeModelIndex Class Reference
- QXmlParseException Class Reference
- QXmlQuery Class Reference
- QXmlReader Class Reference
- QXmlResultItems Class Reference
- QXmlSchema Class Reference
- QXmlSchemaValidator Class Reference
- QXmlSerializer Class Reference
- QXmlSimpleReader Class Reference
- QXmlStreamAttribute Class Reference
- QXmlStreamAttributes Class Reference
- QXmlStreamEntityDeclaration Class Reference
- QXmlStreamEntityResolver Class Reference
- QXmlStreamNamespaceDeclaration Class Reference
- QXmlStreamNotationDeclaration Class Reference
- QXmlStreamReader Class Reference
- QXmlStreamWriter Class Reference