00. 目录
01. QTableWidget介绍
QTableWidget是基于QTableView的一个默认的视图模型;它用于显示一个标准的表格。表格中每一个项通过QTableWidgetItem来实现。
头文件:#include
qmake:QT += widgets
继承自:QTableView
如果你想要一个使用你自己的数据模型的表,你应该使用QTableView而不是这个类。
可以使用指定的行数和列数构造一个QTableWidget对象。
tableWidget = new QTableWidget(12, 3, this);
或者可以先构造一个QTableWidget对象,然后指定其行数和列数。
tableWidget = new QTableWidget(this);
tableWidget->setRowCount(10);
tableWidget->setColumnCount(5);
表格中的每一个项可以在表格之外创建,没有父对象,然后使用setItem()插入到表格中。
QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(
(row+1)*(column+1)));
tableWidget->setItem(row, column, newItem);
我们可以构造一个带有图标和对齐文本的表项,并将其用作特定列的标题
QTableWidgetItem *cubesHeaderItem = new QTableWidgetItem(tr("Cubes"));
cubesHeaderItem->setIcon(QIcon(QPixmap(":/Images/cubed.png")));
cubesHeaderItem->setTextAlignment(Qt::AlignVCenter);
02. 成员函数简介
1、默认构造函数
QTableWidget::QTableWidget(QWidget * parent = 0)
2、使用给定的行数rows和列数columns,构造表格
QTableWidget::QTableWidget(int rows,int columns, QWidget * parent = 0)
3、析构函数
QTableWidget::~QTableWidget()
4、当位于第row行第column列的单元格被激活时,触发该信号。如果该单元格可以编辑则不触发。
void QTableWidget::cellActivated(int row,int column) [signal] 信号函数
5、当位于第row行第column列的单元格中的数据发生变化时,触发该信号
void QTableWidget::cellChanged(int row,int column)[signal] 信号函数
6、当位于第row行第column列的单元格被点击时,触发该信号。
void QTableWidget::cellClicked(int row,int column)[signal] 信号函数
7、当位于第row行第column列的单元格被双击时,触发该信号。
void QTableWidget::cellDoubleClicked(int row,int column)[signal] 信号函数
8、当位于第row行第column列的单元格获取鼠标光标时,触发该信号。需要设置表格setMouseTracking(true),默认是false
void QTableWidget::cellEntered(int row,int column)[signal] 信号函数
9、当位于第row行第column列的单元格被按下时,触发该信号。
void QTableWidget::cellPressed(int row,int column)[signal] 信号函数
10、返回位于第row行第column列的单元格中窗口部件。
QWidget * QTableWidget::cellWidget(int row,int column) const
11、删除表格中所有的项(QTableWidgetItem),但是表格还在。
void QTableWidget::clear() [slot]槽函数
12、删除表格中所有的项(QTableWidgetItem),不包括表头中的,但是表格还在
void QTableWidget::clearContents() [slot]槽函数
13、关闭指定item的可编辑状态
void QTableWidget::closePersistentEditor(QTableWidgetItem * item)
14、返回指定item在第几列。
int QTableWidget::column(constQTableWidgetItem * item) const
15、 当单元格的焦点变化时,发射该信号。currentRow当前行currentColumn当前列;int previousRow之前的行 int previousColumn之前的列
void QTableWidget::currentCellChanged(int currentRow,int currentColumn, int previousRow,int previousColumn) [signal] 信号函数
16、返回当前单元格在第几列
int QTableWidget::currentColumn() const
17、 返回当前的单元格中的item
QTableWidgetItem * QTableWidget::currentItem() const
18、当单元格的焦点变化时,发射该信号。current当前的项item;previous之前的项item
void QTableWidget::currentItemChanged(QTableWidgetItem * current,QTableWidgetItem * previous)[signal] 信号函数
19、返回当前单元格在第几行。
int QTableWidget::currentRow() const
20、当向该表格中拖放时,触发该事件
void QTableWidget::dropEvent(QDropEvent * event) [virtual protected]
21、如果指定的单元格能处理拖放中的数据,则返回真,否则返回假
bool QTableWidget::dropMimeData(int row,int column, const QMimeData * data,Qt::DropAction action)[virtual protected]
22、如果item能编辑,开始编辑该项。
void QTableWidget::editItem(QTableWidgetItem * item)
23、返回匹配text的项的列表。
QList<QTableWidgetItem *> QTableWidget::findItems(constQString & text, Qt::MatchFlags flags) const
24、返回第column列的表头项,如果没有则返回0。
QTableWidgetItem * QTableWidget::horizontalHeaderItem(int column) const
25、返回指定item的QModelIndex(QAbstractItemModel的引索)
QModelIndex QTableWidget::indexFromItem(QTableWidgetItem * item) const [protected]
26、在第column列插入一个空列。
void QTableWidget::insertColumn(int column)
27、 在第row行插入一个空行。
void QTableWidget::insertRow(int row)
28、 返回在第row行第column列的项,如果不存在返回0。
QTableWidgetItem * QTableWidget::item(int row,int column) const
29、 项被激活,发射信号。
void QTableWidget::itemActivated(QTableWidgetItem * item)[signal] 信号函数
30、返回指定坐标point处的项,如果该坐标处没有项则返回0。该坐标相对于表格窗口。
QTableWidgetItem * QTableWidget::itemAt(constQPoint & point) const
31、同上。QPoint(x,y)
QTableWidgetItem * QTableWidget::itemAt(int ax,int ay) const
32、 当item的数值发生改变时,触发该信号
void QTableWidget::itemChanged(QTableWidgetItem * item)[signal] 信号函数
33、当item被点击时,触发该信号
void QTableWidget::itemClicked(QTableWidgetItem * item)[signal] 信号函数
34、当item被双击时,触发该信号
void QTableWidget::itemDoubleClicked(QTableWidgetItem * item)[signal] 信号函数
35、当编辑item时(获取鼠标)时,触发该信号。需要设置表格setMouseTracking(true),默认是false
void QTableWidget::itemEntered(QTableWidgetItem * item)
36、 返回给定index的项,QModelIndex指向数据?
QTableWidgetItem * QTableWidget::itemFromIndex(constQModelIndex & index) const [protected]
37、当item被按下时,触发该信号
void QTableWidget::itemPressed(QTableWidgetItem * item)[signal] 信号函数
38、返回项的原型,通常用于克隆项
const QTableWidgetItem * QTableWidget::itemPrototype() const
39、当被选中的item发生改变时,触发该信号。
void QTableWidget::itemSelectionChanged()[signal] 信号函数
40、返回包含MIME data数据所有的项。
QList<QTableWidgetItem *> QTableWidget::items(constQMimeData * data) const [protected]
41、返回项列表中MIME数据的容器
QMimeData * QTableWidget::mimeData(constQList<QTableWidgetItem *> items) const[protected]
42、 返回表格中所有项的一个MIME数据
QStringList QTableWidget::mimeTypes() const[protected
43、 开始编辑item
void QTableWidget::openPersistentEditor(QTableWidgetItem * item)
44、 删除第row行第column列的窗口部件
void QTableWidget::removeCellWidget(int row,int column)
45、 删除第column列
void QTableWidget::removeColumn(int column)[slot]
46、删除第row行
void QTableWidget::removeRow(int row)[slot]
47、返回指定item所在的行数
int QTableWidget::row(constQTableWidgetItem * item) const[slot]
48、指定的item比较突显出来,方便辨认。
void QTableWidget::scrollToItem(constQTableWidgetItem * item, QAbstractItemView::ScrollHint hint = EnsureVisible)[slot]
49、返回选中的项的列表
QList<QTableWidgetItem *> QTableWidget::selectedItems()
50、返回选择范围
QList<QTableWidgetSelectionRange> QTableWidget::selectedRanges() const
51、将widget窗口部件放到第row行第column列。
void QTableWidget::setCellWidget(int row,int column, QWidget * widget)
52、将位于第row行第column列的项设置为当前项(获取焦点)
void QTableWidget::setCurrentCell(int row,int column)
53、设置指定的item为当前项
void QTableWidget::setCurrentItem(QTableWidgetItem * item)
54、将第column列的水平表头项设为item
void QTableWidget::setHorizontalHeaderItem(int column,QTableWidgetItem * item)
55、 使用一组标签设置水平表头
void QTableWidget::setHorizontalHeaderLabels(constQStringList & labels)
56、设置第row行第column列的项;注意如果使能排序,行位置会变化
void QTableWidget::setItem(int row,int column, QTableWidgetItem * item)
57、通过item设置表的标准项模型。
void QTableWidget::setItemPrototype(constQTableWidgetItem * item)
58、选择或取消范围
void QTableWidget::setRangeSelected(constQTableWidgetSelectionRange & range, bool select)
59、设置第row行的垂直表头的项
void QTableWidget::setVerticalHeaderItem(int row,QTableWidgetItem * item)
60、 通过一组标签设置垂直表头
void QTableWidget::setVerticalHeaderLabels(constQStringList & labels)
61、根据规则order设置第column列的所有行
void QTableWidget::sortItems(int column,Qt::SortOrder order = Qt::AscendingOrder)
62、 返回该表支持的所有拖放操作
Qt::DropActions QTableWidget::supportedDropActions() const
63、 将项从第column列的水平表头中去除,但不删除它(不delete item)。
QTableWidgetItem * QTableWidget::takeHorizontalHeaderItem(int column)
64、将项从第row行第column列去除,但不删除它
QTableWidgetItem * QTableWidget::takeItem(int row,int column)
65、返回垂直表头中第row行的项
QTableWidgetItem * QTableWidget::verticalHeaderItem(int row) const
66、返回给定逻辑列的可视列。
int QTableWidget::visualColumn(int logicalColumn) const
67、返回item所占的单元格的位置和大小
QRect QTableWidget::visualItemRect(constQTableWidgetItem * item) const
68、返回给定逻辑行的可视行。
int QTableWidget::visualRow(int logicalRow) const
暂无评论内容