QTableWidget合并单元格

void tabWidget_3::slot_showTable(QMap<QString,QList<QString>*> map,int count)
{
    ui->tableWidget->verticalHeader()->setVisible(false);	//列表头不可见
    ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);	//表格不可编辑
    ui->tableWidget->setRowCount(count);	//表格行数
    ui->tableWidget->setColumnCount(3);		//表格列数

    ui->tableWidget->setHorizontalHeaderItem(0,new QTableWidgetItem("列车线号"));	//修改行表头文字
    ui->tableWidget->horizontalHeaderItem(0)->setTextColor(QColor(200,111,30));		//文字颜色
    ui->tableWidget->setHorizontalHeaderItem(1,new QTableWidgetItem("LCU配置属性文件"));
    ui->tableWidget->horizontalHeaderItem(1)->setTextColor(QColor(200,111,30));
    ui->tableWidget->setHorizontalHeaderItem(2,new QTableWidgetItem("操作"));
    ui->tableWidget->horizontalHeaderItem(2)->setTextColor(QColor(200,111,30));

    if(count <= 0) return;
    int row = 0;
    for (QMap<QString,QList<QString>*>::iterator i = map.begin(); i != map.end(); i++) {
        if(i.value()->size() > 1)	// i中元素项数大于1 才合并单元格
        	ui->tableWidget->setSpan(row,0,i.value()->size(),1);	//合并单元格
        ui->tableWidget->setItem(row,0,new QTableWidgetItem(i.key()));  //将数据添加到单元格中
        int index = 0;
        for (QList<QString>::iterator j = i.value()->begin(); j != i.value()->end(); j++) {
            ui->tableWidget->setItem(row,1,new QTableWidgetItem(*j));
            QTableWidgetItem* del = new QTableWidgetItem("删除");
            del->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
            del->setTextColor(QColor(Qt::red));
            ui->tableWidget->setItem(row,2,del);
            ui->tableWidget->item(row,1)->setCheckState(Qt::Unchecked); //单元格内添加checkbox,Qt::Unchecked 不选择
            row++;
            index++;
        }
    }
    ui->tableWidget->horizontalHeader()->resizeSection(1,300); //调整为以像素为单位的大小
}

效果如图:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值