Qt:QTableWidget用法总结(持续更新)

目录

设置item数据

设置带icon的item数据

在item中加入Widget控件、读取widget信息

去除选中item的虚线框

去除item点击效果

单击item选择一行数据

item设置背景色,字体颜色,位置居中

去除水平和垂直表头

去除表格内的网格线

表格内容禁止双击编辑

根据表格的高度,自适应行高

设置表格行高

根据表格的宽度,自适应列宽,不规则宽度

设置表格单偶行的颜色交替显示


设置item数据

    tableWidget->setItem(0,0,new QTableWidgetItem("Jan"));
    tableWidget->setItem(1,0,new QTableWidgetItem("Feb"));
    tableWidget->setItem(2,0,new QTableWidgetItem("Mar"));

 

设置带icon的item数据

    tableWidget->setItem(0,1,new QTableWidgetItem(QIcon("images/IED.png"), "Jan's month"));
    tableWidget->setItem(1,1,new QTableWidgetItem(QIcon("images/IED.png"), "Feb's month"));
    tableWidget->setItem(2,1,new QTableWidgetItem(QIcon("images/IED.png"), "Mar's month"));

 

在item中加入Widget控件、读取widget信息

    //比如,把一个下拉框加入单元格,可以这么做:
    QComboBox *comBox = new QComboBox();
    comBox->addItem("Y");
    comBox->addItem("N");
    tableWidget->setCellWidget(0,2,comBox);


    //读取item信息
    QWidget * widget=ui->tableWidget->cellWidget(i,0);//获得widget   
    QComboBox *combox=(QComboBox*)widget;//强制转化为QComboBox     
    QString string=combox->currentText();  
    qDebug()<<string;

 

去除选中item的虚线框

QTableWidget->setFocusPolicy(Qt::NoFocus);

 

去除item点击效果

QTableWidget->setSelectionMode(QAbstractItemView::NoSelection);

 

单击item选择一行数据

pTableWidget_->setSelectionBehavior(QAbstractItemView::SelectRows);

 

item设置背景色,字体颜色,位置居中


QTableWidgetItem* item = new QTableWidgetItem(nullptr);
item->setBackground(QColor(1, 84, 120));    //设置背景色
item->setForeground(QColor(255, 255, 255)); //设置文字颜色
item->setTextAlignment(Qt::AlignCenter);    //设置文字居中显示
pTableWidget_->setItem(0, 0, item);

 

去除水平和垂直表头

	#include <qheaderview.h>
    pTableWidget_->horizontalHeader()->setVisible(false);
	pTableWidget_->verticalHeader()->setVisible(false);

 

去除表格内的网格线

QTableWidget->setShowGrid(false);

 

表格内容禁止双击编辑

pTableWidget_->setEditTriggers(QAbstractItemView::NoEditTriggers);

 

根据表格的高度,自适应行高

pTableWidget_->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);

 

设置表格行高

//方法1:设置索引为1的行高
QTableWidget->setRowHeight(1, 70);


//方法2:设置全部行的高
QTableWidget->verticalHeader()->setDefaultSectionSize(70);

 

根据表格的宽度,自适应列宽,不规则宽度

//所有列宽自适应,宽度都一样
pTableWidget_->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);


//设置不同列宽,最后一列宽度自适应,铺满表格列宽
pTableWidget_->setColumnWidth(0, 100);
pTableWidget_->setColumnWidth(1, 900);
pTableWidget_->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch);

 

设置表格单偶行的颜色交替显示

tableWidget->setAlternatingRowColors(true);	//开启交替行颜色

//设置交替行的颜色
QString style = "QTableWidget{												    \
                            	background-color: rgb(255, 255, 255);			\
                                alternate-background-color: rgb(215,215,215);	\
                             }";
tableWidget->setStyleSheet(style);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值