Qt模型视图框架:QTableWidget

一、描述

标准表格小部件。QTableWidget 中的项目由 QTableWidgetItem 提供。

使用方式:

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

或:

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

二、成员函数

2.1、信号

1、void cellActivated(int row, int column)

当行和列指定的单元格被激活时发出此信号。

2、void cellChanged(int row, int column)

每当由行和列指定的单元格中的项目数据发生更改时,就会发出此信号。

3、void cellClicked(int row, int column)

每当单击表格中的单元格时,就会发出此信号。 指定的行和列是单击的单元格。

4、void cellDoubleClicked(int row, int column)

每当双击表格中的单元格时,就会发出此信号。 指定的行和列是双击的单元格。

5、void cellEntered(int row, int column)

当鼠标光标进入单元格时会发出此信号。 单元格由行和列指定。

此信号仅在打开 mouseTracking 或在移动到项目时按下鼠标按钮时发出。

6、void cellPressed(int row, int column)

每当按下表格中的单元格时,就会发出此信号。指定的行和列是被按下的单元格。

7、void currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn)

当前单元格发生变化时,就会发出此信号。previousRow 和 previousColumn 指定的单元格是之前获得焦点的单元格,currentRow 和 currentColumn 指定的单元格是新的当前单元格。

8、void currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)

当前项目发生变化时都会发出此信号。previous是之前获得焦点的项,current是新的当前项。

9、void itemActivated(QTableWidgetItem *item)

当指定的项目被激活时发出此信号。

10、void itemChanged(QTableWidgetItem *item)

每当 item 的数据发生变化时,就会发出此信号。

11、void itemClicked(QTableWidgetItem *item)

每当单击表中的项目时都会发出此信号。

12、void itemDoubleClicked(QTableWidgetItem *item)

每当双击表中的项目时都会发出此信号。

13、void itemEntered(QTableWidgetItem *item)

当鼠标光标进入一个项目时发出这个信号。

此信号仅在打开 mouseTracking 或在移动到项目时按下鼠标按钮时发出。

14、void itemPressed(QTableWidgetItem *item)

每当按下表中的项目时,就会发出此信号。

15、void itemSelectionChanged()

只要选择发生变化,就会发出该信号。

2.2、函数

1、void clear()、void clearContents()

clear()删除视图中的所有项目。 这也将删除所有选择和标题。 如果不想删除标题,请使用 clearContents()。 表的尺寸保持不变。

2、void insertColumn(int column) / void insertRow(int row)

插入空列/行。

3、void removeColumn(int column) / void removeRow(int row)

从表中删除列列/行。

4、void scrollToItem(const QTableWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible) 

如有必要,滚动视图以确保项目可见。hint 指定操作后项目应位于的位置。

5、int column(const QTableWidgetItem *item) / int row(const QTableWidgetItem *item) 

获取item所在的列/行。

6、QList<QTableWidgetItem *> findItems(const QString &text, Qt::MatchFlags flags)

使用给定的标志查找与文本匹配的项目。

7、QModelIndex indexFromItem(const QTableWidgetItem *item)

返回与给定项目关联的 QModelIndex。

8、QTableWidgetItem * itemFromIndex(const QModelIndex &index)

返回指向与给定索引关联的 QTableWidgetItem 的指针。

9、QTableWidgetItem * itemAt(const QPoint &point)

返回指向给定点的项目的指针。

10、const QTableWidgetItem * itemPrototype()

        void setItemPrototype(const QTableWidgetItem *item)

将表的项目原型设置为指定的项目。

表格小部件在需要创建新表格项目时将使用项目原型克隆功能。表拥有原型的所有权。

11、QList<QTableWidgetItem *> items(const QMimeData *data)

返回指向包含在数据对象中的项目的指针列表。如果该对象不是由同一进程中的 QTreeWidget 创建的,则列表为空。

12、void removeCellWidget(int row, int column)

       void setCellWidget(int row, int column, QWidget *widget)

       QWidget * cellWidget(int row, int column)

设置要在给定行和列的单元格中显示的给定小部件,将小部件的所有权传递给表格。

如果单元格小部件 A 被单元格小部件 B 替换,则单元格小部件 A 将被删除。

例如,在下面的代码片段中,QLineEdit 对象将被删除。

 setCellWidget(row, column, new QLineEdit);
 ...
 setCellWidget(row, column, new QTextEdit);

13、QList<QTableWidgetItem *> selectedItems()

返回所有选定项目的列表。此函数返回指向所选单元格内容的指针列表。 使用 selectedIndexes() 函数检索包括空单元格在内的完整选择。

14、QList<QTableWidgetSelectionRange> selectedRanges()

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

15、void setHorizontalHeaderItem(int column, QTableWidgetItem *item) 

       void setVerticalHeaderItem(int row, QTableWidgetItem *item)

设置标题 item。如有必要,会增加列/行数以适合该项目。前一个标题项目(如果有)被删除。

16、void setHorizontalHeaderLabels(const QStringList &labels) 

        void setVerticalHeaderLabels(const QStringList &labels)

设置标题标签。

17、void setRangeSelected(const QTableWidgetSelectionRange &range, bool select) 

根据选择选择或取消选择范围。

18、void sortItems(int column, Qt::SortOrder order = Qt::AscendingOrder)

根据列和顺序对表小部件中的所有行进行排序。

19、QTableWidgetItem * takeHorizontalHeaderItem(int column)

       QTableWidgetItem * takeVerticalHeaderItem(int row)

从标题中删除列中的水平标题项目而不删除item。

20、QTableWidgetItem * takeItem(int row, int column)

从表中删除行和列的项目而不删除item。

21、QRect visualItemRect(const QTableWidgetItem *item)

返回 item 处的 item 占据的视口上的矩形。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值