Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QTableWidget Class Reference
[QtGui module]

该QTableWidget类提供了默认的模型基于物品的表视图。More...

继承QTableView

Methods

Qt Signals


Detailed Description

该QTableWidget类提供了默认的模型基于物品的表视图。

表部件提供标准表的显示设备的应用程序。在一个QTableWidget的项目是由提供QTableWidgetItem

如果你想使用自己的数据模型中的表,你应该使用QTableView而不是这个类。

表部件可以用行和列的数目需要构造:

     tableWidget = new QTableWidget(12, 3, this);

另外,表格可以在不给定大小的构造和调整后:

     tableWidget = new QTableWidget(this);
     tableWidget->setRowCount(10);
     tableWidget->setColumnCount(5);

项目创建ouside的表(没有父widget ),并插入到表setItem():

     QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(
         (row+1)*(column+1)));
     tableWidget->setItem(row, column, newItem);

如果您想要启用表中的小部件整理,这样做你填充了项目后,否则排序与插入顺序可能会影响(见setItem( )了解详情) 。

表可以被给定的水平和垂直标头。来创建报头中的最简单的方法是提供一个字符串列表的setHorizontalHeaderLabels()和setVerticalHeaderLabels()函数。这些将提供简单的文本表格的标题的列和行。更复杂的标题可以从通常建造在表外存在的表项被创建。例如,我们可以构造一个表项有一个图标和对齐文本,并把它作为一个特定列的标题:

     QTableWidgetItem *cubesHeaderItem = new QTableWidgetItem(tr("Cubes"));
     cubesHeaderItem->setIcon(QIcon(QPixmap(":/Images/cubed.png")));
     cubesHeaderItem->setTextAlignment(Qt.AlignVCenter);

表中的行数可以与发现rowCount()和列的数目columnCount( ) 。该表可与被清除clear()函数。

Screenshot of a Windows XP style table widget Screenshot of a Macintosh style table widget Screenshot of a Plastique style table widget
A Windows XP style table widget. A Macintosh style table widget. A Plastique style table widget.

Method Documentation

QTableWidget.__init__ (self, QWidget parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

创建具有给定一个新的表视图parent

QTableWidget.__init__ (self, int rows, int columns, QWidget parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

创建具有给定一个新的表视图rowscolumns,并用给定的parent

QWidget QTableWidget.cellWidget (self, int row, int column)

返回在给定显示在单元格中的插件rowcolumn

Note:该表采用了小部件的所有权。

这个函数是Qt 4.1中引入。

See also setCellWidget( ) 。

QTableWidget.clear (self)

这种方法也是一个Qt槽与C + +的签名void clear()

删除所有项目在视图中。这也将删除所有选择。该表的尺寸保持不变。

QTableWidget.clearContents (self)

这种方法也是一个Qt槽与C + +的签名void clearContents()

删除所有项目不从视图中的标头。这也将删除所有选择。该表的尺寸保持不变。

这个函数中引入了Qt 4.2中。

QTableWidget.closePersistentEditor (self, QTableWidgetItem item)

关闭执着编辑器item

See also openPersistentEditor( ) 。

int QTableWidget.column (self, QTableWidgetItem item)

返回的列item

int QTableWidget.columnCount (self)

int QTableWidget.currentColumn (self)

返回当前项目的列。

See also currentRow()和setCurrentCell( ) 。

QTableWidgetItem QTableWidget.currentItem (self)

返回当前项目。

See also setCurrentItem( ) 。

int QTableWidget.currentRow (self)

返回当前项目的行。

See also currentColumn()和setCurrentCell( ) 。

QTableWidget.dropEvent (self, QDropEvent event)

从重新实现QWidget.dropEvent( ) 。

bool QTableWidget.dropMimeData (self, int row, int column, QMimeData data, Qt.DropAction action)

处理data通过拖放操作,与给定的供给结束action在给定的rowcolumn。返回True如果数据和动作可以通过模型来处理,否则返回False 。

See also supportedDropActions( ) 。

QTableWidget.editItem (self, QTableWidgetItem item)

开始编辑item如果是可编辑的。

bool QTableWidget.event (self, QEvent e)

从重新实现QObject.event( ) 。

list-of-QTableWidgetItem QTableWidget.findItems (self, QString text, Qt.MatchFlags flags)

找到符合的项目text使用给定的flags

QTableWidgetItem QTableWidget.horizontalHeaderItem (self, int column)

返回列的水平标题项,column,如果已设定,否则返回0 。

See also setHorizontalHeaderItem( ) 。

QModelIndex QTableWidget.indexFromItem (self, QTableWidgetItem item)

返回QModelIndexassocated用给定的item

QTableWidget.insertColumn (self, int column)

这种方法也是一个Qt槽与C + +的签名void insertColumn(int)

插入一个空列到表中column

QTableWidget.insertRow (self, int row)

这种方法也是一个Qt槽与C + +的签名void insertRow(int)

插入一个空行到表中row

bool QTableWidget.isItemSelected (self, QTableWidgetItem item)

bool QTableWidget.isSortingEnabled (self)

QTableWidgetItem QTableWidget.item (self, int row, int column)

返回的项目为给定的rowcolumn如果已经设置,否则返回0 。

See also setItem( ) 。

QTableWidgetItem QTableWidget.itemAt (self, QPoint p)

返回一个指向该项目在给定的point,或返回0,如果point未在表格部件所复盖的项目。

See also item( ) 。

QTableWidgetItem QTableWidget.itemAt (self, int ax, int ay)

返回以相等于位置的项目QPointaxay)表格部件的坐标系中,或者指定的点是不是在表部件有相应的项目返回0 。

See also item( ) 。

QTableWidgetItem QTableWidget.itemFromIndex (self, QModelIndex index)

返回一个指针QTableWidgetItemassocated用给定的index

QTableWidgetItem QTableWidget.itemPrototype (self)

返回产品原型所使用的表。

See also setItemPrototype( ) 。

list-of-QTableWidgetItem QTableWidget.items (self, QMimeData data)

返回指针的列表,包含在该项目data对象。如果对象不是由创建QTreeWidget在同一过程中,该列表是空的。

QMimeData QTableWidget.mimeData (self, list-of-QTableWidgetItem items)

QMimeData结果

返回一个对象,该对象包含指定的序列化描述items。用于描述的项目的格式是从所获得的mimeTypes()函数。

如果项目列表为空,则返回0 ,而不是一个序列化的空单。

QStringList QTableWidget.mimeTypes (self)

返回可用于描述tablewidget项目清单的MIME类型的列表。

See also mimeData( ) 。

QTableWidget.openPersistentEditor (self, QTableWidgetItem item)

打开一个编辑器的给予item。该编辑器编辑后仍保持打开状态。

See also closePersistentEditor( ) 。

QTableWidget.removeCellWidget (self, int arow, int acolumn)

删除小部件所指示的单元格设置rowcolumn

此功能被引入Qt的4.3 。

QTableWidget.removeColumn (self, int column)

这种方法也是一个Qt槽与C + +的签名void removeColumn(int)

删除列column和从表中的所有项目。

QTableWidget.removeRow (self, int row)

这种方法也是一个Qt槽与C + +的签名void removeRow(int)

删除的行row和从表中的所有项目。

int QTableWidget.row (self, QTableWidgetItem item)

返回该行的item

int QTableWidget.rowCount (self)

QTableWidget.scrollToItem (self, QTableWidgetItem item, QAbstractItemView.ScrollHint hint = QAbstractItemView.EnsureVisible)

这种方法也是一个Qt槽与C + +的签名void scrollToItem(const QTableWidgetItem *,QAbstractItemView::ScrollHint = QAbstractItemView.EnsureVisible)

滚动的视图,如果必要,以确保item是可见的。该hint参数指定更精确的地方item应设在手术后。

list-of-QTableWidgetItem QTableWidget.selectedItems (self)

返回所有选定项的列表。

这个函数返回一个指针列表,选中单元格的内容。使用selectedIndexes( )函数来获取完整的选择including空单元格。

See also selectedIndexes( ) 。

list-of-QTableWidgetSelectionRange QTableWidget.selectedRanges (self)

返回所有选定范围的列表。

See also QTableWidgetSelectionRange

QTableWidget.setCellWidget (self, int row, int column, QWidget widget)

widget说法有它的所有权转移给Qt的。

设置给定widget在给定的要被显示在单元格中rowcolumn,通过widget的所有权表。

如果电池部件A被替换电池部件B,细胞小部件A将被删除。例如,下面的代码片段中,QLineEdit对象将被删除。

 setCellWidget(index, new QLineEdit);
 ...
 setCellWidget(index, new QTextEdit);

这个函数是Qt 4.1中引入。

See also cellWidget( ) 。

QTableWidget.setColumnCount (self, int columns)

QTableWidget.setCurrentCell (self, int row, int column)

将当前单元格是在位置的单元格(rowcolumn) 。

根据当前的selection mode中,细胞也可能被选中。

这个函数是Qt 4.1中引入。

See also setCurrentItem( )currentRow()和currentColumn( ) 。

QTableWidget.setCurrentCell (self, int row, int column, QItemSelectionModel.SelectionFlags command)

将当前单元格是在位置的单元格(rowcolumn) ,使用给定的command

此功能被引入Qt的4.4 。

See also setCurrentItem( )currentRow()和currentColumn( ) 。

QTableWidget.setCurrentItem (self, QTableWidgetItem item)

设置当前项目item

除非选择模式为NoSelection时,该项目也被选中。

See also currentItem()和setCurrentCell( ) 。

QTableWidget.setCurrentItem (self, QTableWidgetItem item, QItemSelectionModel.SelectionFlags command)

设置当前项目是item,使用给定的command

此功能被引入Qt的4.4 。

See also currentItem()和setCurrentCell( ) 。

QTableWidget.setHorizontalHeaderItem (self, int column, QTableWidgetItem item)

item说法有它的所有权转移给Qt的。

设置列的水平标题的项目columnitem

See also horizontalHeaderItem( ) 。

QTableWidget.setHorizontalHeaderLabels (self, QStringList labels)

设置使用水平标题标籤labels

QTableWidget.setItem (self, int row, int column, QTableWidgetItem item)

item说法有它的所有权转移给Qt的。

设置项对于给定的rowcolumnitem

该表采用了项目的所有权。

请注意,如果排序是启用(见sortingEnabled)和column是当前排序列中,row将被移动到所确定的排序位置item

如果你想(在一个循环中说,通过调用SetItem使用( ) )设置一个特定行的几个项目,你可能想关闭在这样做之前排序,并重新开启之后,这将允许您使用相同的row参数为同一行中的所有项目(即SetItem使用( )将不会移动的行) 。

See also item()和takeItem( ) 。

QTableWidget.setItemPrototype (self, QTableWidgetItem item)

item说法有它的所有权转移给Qt的。

设置项原型的表的指定的item

该表部件将使用的项目原型克隆功能,当它需要创建一个新的表项。例如,当用户在编辑一个空单元格。当你有这是一个非常有用QTableWidgetItem子类,并希望确保QTableWidget创建你的子类的实例。

该表采用了原型的所有权。

See also itemPrototype( ) 。

QTableWidget.setItemSelected (self, QTableWidgetItem item, bool select)

QTableWidget.setRangeSelected (self, QTableWidgetSelectionRange range, bool select)

选择或取消选择range根据select

QTableWidget.setRowCount (self, int rows)

QTableWidget.setSortingEnabled (self, bool enable)

QTableWidget.setVerticalHeaderItem (self, int row, QTableWidgetItem item)

item说法有它的所有权转移给Qt的。

设置为行的垂直标题项rowitem

See also verticalHeaderItem( ) 。

QTableWidget.setVerticalHeaderLabels (self, QStringList labels)

设置使用垂直标题标籤labels

QTableWidget.sortItems (self, int column, Qt.SortOrder order = Qt.AscendingOrder)

排序表中的小部件中的所有行的基础上columnorder

Qt.DropActions QTableWidget.supportedDropActions (self)

返回此视图支持的放置动作。

See also Qt.DropActions

QTableWidgetItem QTableWidget.takeHorizontalHeaderItem (self, int column)

QTableWidgetItem结果

删除在水平标题项column从而不删除它的头。

这个函数是Qt 4.1中引入。

QTableWidgetItem QTableWidget.takeItem (self, int row, int column)

QTableWidgetItem结果

在删除的项目rowcolumn从表而不删除它。

QTableWidgetItem QTableWidget.takeVerticalHeaderItem (self, int row)

QTableWidgetItem结果

删除在垂直标题项row从而不删除它的头。

这个函数是Qt 4.1中引入。

QTableWidgetItem QTableWidget.verticalHeaderItem (self, int row)

返回行的垂直标题项row

See also setVerticalHeaderItem( ) 。

int QTableWidget.visualColumn (self, int logicalColumn)

返回给定的可视列logicalColumn

QRect QTableWidget.visualItemRect (self, QTableWidgetItem item)

返回矩形上通过了该项目所佔用的视item

int QTableWidget.visualRow (self, int logicalRow)

返回给定的可视化排logicalRow


Qt Signal Documentation

void cellActivated (int,int)

这是该信号的默认超载。

当指定由小区这个信号被发射rowcolumn已激活

这个函数是Qt 4.1中引入。

void cellChanged (int,int)

这是该信号的默认超载。

每当该项目的单元格中的数据通过指定这个信号被发射rowcolumn已经改变。

这个函数是Qt 4.1中引入。

void cellClicked (int,int)

这是该信号的默认超载。

每当在表中的单元格被点击这个信号被发射。该rowcolumn指定是被单击的单元格。

这个函数是Qt 4.1中引入。

void cellDoubleClicked (int,int)

这是该信号的默认超载。

这个信号被发射时在表中的单元格被双点击。该rowcolumn指定是被双击时的电池。

这个函数是Qt 4.1中引入。

void cellEntered (int,int)

这是该信号的默认超载。

当鼠标光标进入细胞这个信号被发射。被指定的小区rowcolumn

这个信号只发射时mouseTracking被接通时,或者当在移动到一个产品上,按下鼠标按钮。

这个函数是Qt 4.1中引入。

void cellPressed (int,int)

这是该信号的默认超载。

每当在表中的单元格被按下时,这个信号被发射。该rowcolumn指定的是被按下的细胞。

这个函数是Qt 4.1中引入。

void currentCellChanged (int,int,int,int)

这是该信号的默认超载。

这个信号被发射时当前单元格的变化。由指定的小区previousRowpreviousColumn是,以前有焦点的单元格,指定的单元格currentRowcurrentColumn是新的当前单元格。

这个函数是Qt 4.1中引入。

void currentItemChanged (QTableWidgetItem *,QTableWidgetItem *)

这是该信号的默认超载。

这个信号被发射时的当前项的变化。该previous产品以前具有焦点的项目,current是新的当前项。

void itemActivated (QTableWidgetItem *)

这是该信号的默认超载。

指定时,这个信号被发射item已激活

void itemChanged (QTableWidgetItem *)

这是该信号的默认超载。

这个信号被发射时的数据item已经改变。

void itemClicked (QTableWidgetItem *)

这是该信号的默认超载。

每当表格中的项被点击这个信号被发射。该item指定是被单击的项目。

void itemDoubleClicked (QTableWidgetItem *)

这是该信号的默认超载。

这个信号被发射时表格中的项目被双击时。该item指定是被双击了项目。

void itemEntered (QTableWidgetItem *)

这是该信号的默认超载。

当鼠标光标进入一个项目,这个信号被发射。该item在该项目进入。

这个信号只发射时mouseTracking被接通时,或者当在移动到一个产品上,按下鼠标按钮。

void itemPressed (QTableWidgetItem *)

这是该信号的默认超载。

每当在表中的项目被按下​​这个信号被发射。该item指定的是被按下的项目。

void itemSelectionChanged ()

这是该信号的默认超载。

这个信号被发射时的选择改变。

See also selectedItems()和QTableWidgetItem.isSelected( ) 。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5