qt清空qtablew_在 Qt学习 QTableItem 类

Qt类是一个提供所需的像全局变量一样的大量不同的标识符的命名空间。本篇文章介绍的是QTableItem类的使用。QTableItem包含着一个单元格的数据,缺省情况下是一个字符串和一个象素映射。表项还包括单元格的显示大小和数据对齐方式,同时指定了单元格的EditType和用于内嵌编辑的编辑器(缺省为QLineEdit)。如果你需要多选框,使用QCheckTableItem;需要组合框则使用QCom...
摘要由CSDN通过智能技术生成

Qt类是一个提供所需的像全局变量一样的大量不同的标识符的命名空间。本篇文章介绍的是QTableItem类的使用。

QTableItem包含着一个单元格的数据,缺省情况下是一个字符串和一个象素映射。表项还包括单元格的显示大小和数据对齐方式,同时指定了单元格的EditType和用于内嵌编辑的编辑器(缺省为QLineEdit)。如果你需要多选框,使用QCheckTableItem;需要组合框则使用QComboTableItem。EditType(在构造器中设置的)决定单元格的内容是否可以被编辑;setReplaceable()设置了单元格是否可以被另外一个单元格的内容所替换。

如果指定了象素映射,总是显示在文本在左边。可以分别用setText()和setPixmap()来改变文本或者象素映射。对于文本可以使用setWordWrap()。表项的对齐方式在构造器中设置。

如果你想用自己的部件而不是QLineEdit来编辑单元格内容,那就重新实现createEditor()和setContentFromEditor()。如果要显示定制的内容,就重写paint()。

对表项排序使用了key()函数;缺省情况下返回表项的文本()。重写key()以定制你的表项排序方式。

使用QTable::setItem()把表项插入到表格中。如果你把表项插入到一个已经有表项的单元格中,原有的表项被删去。

例子:

for ( int row = 0; row numRows(); row++ ) {

for ( int col = 0; col numCols(); col++ ) {

table->setItem( row, col,

new QTableItem( table, WhenCurrent, QString::number( row * col ) ) );

}

}

如果要在相同或者不同的表格中把表项从一个单元格移到另一个,可以使用QTable::takeItem()和QTable::setItem(),但是也可以参见QTable::swapCells()。

表项可以以标准删除的方式来删去;表格和单元格将会相应地更新。

表类QTableView用于创建表,头文件,使用该类时必须重写paintCell()函数,该函数用于绘制表元,在QTableView中为虚函数.实现paintCell()函数,必然要用于QPainter类绘制图形QPainter类,头文件

创建简单网格

#include

#include

#include

#include

class MainWin:public QTableView

{

public:

MainWin();

private:

void paintCell(QPainter *,int ,int);

};

MainWin::MainWin()

{

setGeometry(100,100,300,300);

setNumCols(6);//设置表列数

setNumRows(10);//设置表行数

setCellWidth(50);//设置单元格宽度

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值