QTableWidget 的使用

QTabWidget 是qt中 常用的一个表格组件,在展示列表以及部分详细信息的时候可以用它,他的样式及用途都比较广泛,它独特之处在他内部已经将表头和表格内容分开,我们在使用的过程中也可以直接是用默认的表头(当然表头也是可以隐藏的,可以根据我们自己的需求来设计它)。他的表头包括行标头和列表头。

 
//    设置表头
    QTableWidgetItem *headerItem;
    QStringList headerText;
    headerText<<"名称1"<<"名称2"<<"分类"<<"作者";
    ui->tableWidget->setColumnCount(headerText.count());//都会认知表头数量
 
//    ui->tableWidget->horizontalHeader()->setSortIndicator(0, Qt::AscendingOrder);  用于设置水平表头 verticalHeader 列表头
   ui->tableWidget->horizontalHeader()->setSortIndicatorShown( true );//打开表头排序
   ui->tableWidget->horizontalHeader()->setClickable( true ); //表头可以通过点击进行排序
   connect(headerGoods, SIGNAL(sectionClicked( int )), _nodeTableWidget, SLOT (sortByColumn( int )));

在表头添加文字 以及做一些美化 

 for (int i =0;i<ui->tableWidget->columnCount();i++) { //每一行的文字
        headerItem = new QTableWidgetItem(headerText.at(i));
        QFont font = headerItem->font();
        font.setBold(true);
        font.setPointSize(14);
        headerItem->setTextColor(Qt::white);
        headerItem->setFont(font);
        ui->tableWidget->setHorizontalHeaderItem(i,headerItem); //水平表头
    }
    ui->tableWidget->horizontalHeader()->setMinimumHeight(44);
    ui->tableWidget->verticalHeader()->*setVisible*(false);//

表头美化:

"QHeaderView::down-arrow {subcontrol-position: center right;//设置内容的位置
image: url(://tu.png);//在表头添加图片内容
padding-right: 8px;//设置边距}"

表格内部美化:

ui->tableWidget->setAlternatingRowColors(true); // 隔行变色ui->tableWidget->setPalette(QPalette(QColor(245,249,249))); // 设置隔行变色的颜色

这里的颜色是设置的是隔行变色的第二个颜色,默认为白色

ui->tableWidget->setEditTriggers(QTableWidget::NoEditTriggers);//禁止编辑 

在表格禁止修改时使用   

 ui->tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);this->setFocusPolicy(Qt::NoFocus); //选中单元格时,不出现虚框   

这句话在使用tableWidget 时一定要加,否则他的默认会在选中的每一个单元上有虚线出现,奇丑无比,可以通过这句阻止他的出现。

ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);//点击选择行ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); //设置只能选择一行ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);   //设置内容不可更改

在单元格中设置按钮

在QTableWidget中添加控件

**tableWidget->setCellWidget(0,0,pBtn); **

第一个参数是指按钮所在的行

第二个参数是按钮所在的列

第三个参数是按钮的名称

当然 这个按钮可以换成任何一个控件,包括把它换成一个界面

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蝈蝈(GuoGuo)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值