qt -- QTableWidget的使用

目录

1、设置表头

2、函数对单元格属性使用

3、信号

4、插入、删除、添加 

5、自动调整行高和列宽

6、其他属性


QTableWidget是Qt中的表格组件类。在窗体上放置一个QTableWidget组件后,可以在propertyEditor里对其进行属性设置,双击这个组件,可以打开一个编辑器,对其Colum、Row和Item行编辑。

 1、设置表头

//设置表头
QTableWidgetItem * headerItem;

QStringList headerText;
headerText<<"姓名"<<"性别"<<"出生日期";

ui->tableInfo->setHorizontalHeaderLabels (headerText);
ui->tableInfo->setColumnCount (headerText.count()) ;

for (int i = 0 ; i < ui->tableInfo->columnCount() ; i++)
{
    headerItem = new QTablewidgetItem(headerText.at (i)) ;
    QFont font = headerItem->font();
    font.setBold(true) ;//设置为粗体
    font.setPointsize ( 12) ;//字体大小
    headerItem->setTextcolor(Qt : :red) ; //字体颜色
    headerItem->setFont (font) ;//设置字体
    ui->tableInfo->setHorizontalHeaderItem (i, headerItem) ;
}

 2、函数对单元格属性使用

QTableWidgetItem :

setTextAlignment (int alignment):设置文字对齐方式。
setBackground(const QBrush &brush):设置单元格背景颜色。
setForeground(const QBrush &brush):设置单元格前景色。
setIcon(const QIcon &icon):为单元格设置一个显示图标。
setFont(const QFont &font):为单元格显示文字设置字体。
setCheckState(Q::CheckState state):设置单元格勾选状态,单元格里出现一个QCheckBox组件。setFlags(Qt::ItemFlags flags):设置单元格的一些属性标记。


QTableWidget:

用QTableWidget的setItem函数将item设置为单元格的项,
QTableWidget::clearContents()    函数清除表格数据区的所有内容,但是不清除表头。
QTableWidget ::rowCount()          函数返回表格数据区的行数。

3、信号

当前单元格发生切换时,会发射currentCellChanged()信号和 currentltemChanged()信号,两个信号都可以使用,只是传递的参数不同。
 currentCellChanged()信号中:传递的参数currentRow和 currentColumn表示当前单元格的行号和列号,通过这两个编号可以得到单元格的QTableWidgetItem对象item。

4、插入、删除、添加 

QTableWidget:

/*
在行号为row的行前面插入一行,如果row等于或大于总行数,则在表格最后添加一行。
insertRow()函数只是插入一个空行,不会为单元格创建QTableWidgetltem对象,
需要手工为单元格创建。
*/
insertRow(int row):

//删除行号为row的行。
removeRow(int row):

5、自动调整行高和列宽

QTableWidget:

resizeColumnsToContents():自动调整所有列的宽度,以适应其内容
resizeColumnToContents(int column):自动调整列号为column的列的宽度
resizeRowsToContents():自动调整所有行的高度,以适应其内容
resizeRowToContents(int row):自动调整行号为row的行的高度

函数实际上是QTableWidget的父类QTableView的函数

6、其他属性

设置表格内容是否可编辑

QTableWidget的 EditTriggers属性表示是否可编辑,以及进入编辑状态的方式

ui->tableInfo->setEditTriggers (QAbstractItemView::Doubleclicked |
QAbstractItemView::selectedclicked);//双击或获取焦点后单击,进入编辑状态

//不可编辑
ui->tableInfo->setEditTriggers(QAbstractItemView:: NoEditTriggers) ;

 设置行表头、列表头是否显示

//是否显示行表头  checked:true 显示   false:不显示
ui->tableInfo->horizontalHeader()->setvisible (checked) ;

//是否显示列表头
ui->tableInfo->verticalHeader()->setvisible(checked);

间隔行底色

/*setAlternatingRowColors():
函数可以设置表格的行是否用交替底色显示,若为交替底色,
则间隔的一行会用灰色作为底色。具体底色的设置需要用styleSheet。
*/

ui->tableInfo->setAlternatingRowColors(checked) ;   //checked :true false

选择模式

/*
    setSelectionBehavior()
    函数可以设置选择方式为单元格选择,还是行选择。
*/

//选择行为:单元格选择
ui->tableInfo->setselectionBehavior(QAbstractItemView::SelectItems) ;

//选择行为:行选择
ui->tableInfo->setselectionBehavior(QAbstractItemView::SelectRows) ;
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值