zoukankan      html  css  js  c++  java
  • QTableWidget 使用

    一、常用设置代码:

    QStringList horizontalHeaders;
    horizontalHeaders<<"列0"<<"列1";
    ui->tableWidget->setColumnCount(3); //设置列数,需要大于等于使用的列数
    ui->tableWidget->setHorizontalHeaderLabels(horizontalHeaders); //设置列标题
    ui->tableWidget->setRowCount(2);
    ui->tableWidget->setVerticalHeaderItem(0,new QTableWidgetItem("行0")); //设置行标题
    QString col0Head=ui->tableWidget->horizontalHeaderItem(0)->text(); //获取列标题
    ui->tableWidget->clearContents(); //清空表格内容,表格大小不变。
    ui->tableWidget->setRowCount(0); //将表格的行数置为0,再需要更新表格的内容时可能需要使用这两行内容
    ui->tableWidget->insertRow(0); //在0行之后插入空行,在需要使用新建行前调用
    ui->tableWidget->setItem(0,0,new QTableWidgetItem("TEST"));
    QCheckBox* checkBox = new QCheckBox(ui->tableWidget); //父窗口删除、子窗口自动被删除
    checkBox->setChecked(true);
    ui->tableWidget->setCellWidget(1,1,checkBox); //将其它窗体加入表格
    QString value_00=ui->tableWidget->item(0,0)->text(); //获取单元格内容
    QCheckBox* checkBox_11=static_cast<QCheckBox*>(ui->tableWidget->cellWidget(1,1)); //获取单元格中的窗体
    ui->tableWidget->removeColumn(2); //删除第2列
    tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //将表格变为禁止编辑 
    ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); //QHeaderView将自动调整该部分的大小以填充可用空间。不能由用户或以编程方式更改大小。
    QObject::connect(ui->tableWidget, SIGNAL(cellEntered(int,int)),this, SLOT(cellEnteredSlot(int,int)));//获取鼠标在表格中的位置。需要将其中的子窗体设为无焦点
    checkBox->setFocusPolicy(Qt::NoFocus); //设置焦点策略为无焦点,然后将其加入表格。否则移动到此单元格将不会发出cellEntered(int row,int col)信号
    ui->tableWidget->hideRow(1); //隐藏表格第2行
    //如下可以设置表格中的字体和颜色、对齐方式等
    QTableWidgetItem* devStateItem = new QTableWidgetItem("上电"); //电源状态
    QFont font("微软雅黑", 11); //字体大小
    font.setUnderline(true); //设置下划线
    devStateItem->setFont(font);
    devStateItem->setTextColor(QColor(7,222,78));
    devStateItem->setTextAlignment(Qt::AlignCenter); //居中对齐
    ui->tableWidget->setItem(0, 1, devStateItem);
    ui->tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); //关闭竖直滚动条。
    ui->tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); //按照像素滚动内容。(平滑拖动)
    ui->tableWidget->resizeRowsToContents(); //根据内容自动调整行的大小,在填写单元格内容之后调用此函数。

    其它可参考:https://blog.csdn.net/polokang/article/details/6696982、https://blog.csdn.net/weixin_42837024/article/details/82388077

    坚持成就伟大
  • 相关阅读:
    BZOJ 3150 [Ctsc2013]猴子 ——期望DP 高斯消元
    BZOJ 4569 [Scoi2016]萌萌哒 ——ST表 并查集
    BZOJ 4590 [Shoi2015]自动刷题机 ——二分答案
    BZOJ 3462 DZY Loves Math II ——动态规划 组合数
    BZOJ 4827 [Shoi2017]分手是祝愿 ——期望DP
    BZOJ 4827 [Hnoi2017]礼物 ——FFT
    BZOJ 4826 [Hnoi2017]影魔 ——扫描线 单调栈
    ZOJ 3874 Permutation Graph ——分治 NTT
    UVA 12633 Super Rooks on Chessboard ——FFT
    HDU 2065 "红色病毒"问题 ——快速幂 生成函数
  • 原文地址:https://www.cnblogs.com/xian-yongchao/p/13800160.html
Copyright © 2011-2022 走看看