• 大小: 18KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2022-09-30
  • 语言: 其他
  • 标签: QT  C++  冻结表头  

资源简介

在"漫步繁华街"-https://blog.csdn.net/xiezhongyuan07/article/details/82857631的基础上,增加了列的冻结功能
同时进行了抽象,提取,封装了一个独立的类,可以直接使用,只需要设定表头数据,内容数据,冻结列数据以及各个的颜色即可。

在这里感谢【漫步繁华街】的代码分享。

资源截图

代码片段和文件信息

#include “frozentablewidgetdemo.h“

FrozenTableWidgetDemo::FrozenTableWidgetDemo()
{
    this->InitFrozenCommonHeaderData();
    this->initFrozenHeaderData();

    //最后放数据
    this->IniMainData();
    //初始化列数据
    this->IniFrozenColumnData();//然后初始化列数据





}
//!==========================================
//! 表格中的数据
//!==========================================
void FrozenTableWidgetDemo::IniMainData()
{
    this->clearContents();
    this->setRowCount(this->m_iDataRows);

    this->setColumnCount(this->m_iDataColumns);



    //设置行高


    //填充最后一行的内容
    for(int i = 0; i< this->m_iDataRows; i++)
    {
        //setRowHeight(i ROWHEIGHT);
        for(int col = this->m_ifrozenColumnsForHeader; col < this->m_iDataColumns; col++) {
            setItem(i col new QTableWidgetItem(QString(“item%1%2“).arg(i).arg(col)));
            item(i col)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
        }
    }
    setItemDelegate(new ItemDelegate(1this->m_ifrozenRowsForHeaderthis->m_ifrozenColumnsForHeaderm_headColor));//设置绘画代理(主要在代理中画出来header)
}
//!===============================
//!表格中的数据冻结列部分
//!================================
void FrozenTableWidgetDemo::IniFrozenColumnData()
{
    QTableWidget* tblwgt = this->m_wgtFrozenTableColumn;
    tblwgt->clearContents();
    tblwgt->setRowCount(0);
    tblwgt->setRowCount(this->m_iDataRows);
    tblwgt->setColumnCount(this->m_iDataColumns);
    for (int i = 0; i < this->m_iDataRows; i++)
    {
        //tblwgt->setRowHeight(i ROWHEIGHT);
        for(int k = 0; k < m_ifrozenColumnsForHeader; k++)
        {
            tblwgt->setItem(iknew QTableWidgetItem(QString::number(i)+QString::number(k+1)));
        }
    }
    m_wgtFrozenTableColumn->setItemDelegate(new ItemDelegate(1this->m_ifrozenRowsForHeaderthis->m_ifrozenColumnsForHeaderm_headColor));//设置绘画代理(主要在代理中画出来header)

}
//!======================================================
//! 创建表头
//! =================================================
void FrozenTableWidgetDemo::initFrozenHeaderData()//冻结表头数据
{
    this->m_headColor.insert(“frozenColumn“QColor(0x410xcd0x52));
    //===================设置header内容=================//
    //合并单元格
    m_wgtFrozenTableHeader->setSpan(0 0 2 1);//老师ID
    m_wgtFrozenTableHeader->setSpan(0 1 2 1);//老师姓名

    m_wgtFrozenTableHeader->setSpan(0 2 2 1);//老师姓名

    m_wgtFrozenTableHeader->setSpan(0 3 1 4);//最新日期(8月20)

    m_wgtFrozenTableHeader->setSpan(0 7 1 2);//前一日(8月19)

    m_wgtFrozenTableHeader->setSpan(0 9 2 1);//操作


    m_wgtFrozenTableHeader->setItem(0 0 new QTableWidgetItem(“老师ID“));
    this->m_headColor.insert(“00“QColor(0x330x990xff));
    m_wgtFrozenTableHeader->setItem(0 1 new QTableWidgetItem(“老师姓名“));
    this->m_headColor.insert(“01“QColor(0x330x990xff));
    m_wgtFrozenTableHeader->setItem(0 2 new QTableWidgetItem(“老师姓名“));
    this->m_headColor.insert(“02“QColor(0x330

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5861  2019-05-26 04:24  frozenTableWidget\frozentablewidgetdemo.cpp

     文件        462  2019-05-25 22:45  frozenTableWidget\frozentablewidgetdemo.h

     文件      11915  2019-05-26 04:37  frozenTableWidget\FrozenTableWidgt.cpp

     文件       3646  2019-05-25 22:43  frozenTableWidget\FrozenTableWidgt.h

     文件        113  2018-09-14 01:46  frozenTableWidget\images\vSpacer.png

     文件       5995  2019-05-26 04:27  frozenTableWidget\itemdelegate.cpp

     文件        711  2019-05-26 04:20  frozenTableWidget\itemdelegate.h

     文件        318  2019-05-25 22:31  frozenTableWidget\main.cpp

     文件        557  2019-05-25 22:28  frozenTableWidget\pieDemo.pro

     文件      24028  2019-05-26 04:37  frozenTableWidget\pieDemo.pro.user

     文件        102  2018-09-14 09:55  frozenTableWidget\resource.qrc

     文件        361  2018-09-13 15:38  frozenTableWidget\TDMDetailDataForm.h

     文件      30192  2018-09-14 15:52  frozenTableWidget\TDMDetailDataForm.ui

     文件      18653  2019-05-25 20:59  frozenTableWidget\TDMSummaryTableWgt.cpp.Xo5860

     文件       1330  2019-05-25 09:52  frozenTableWidget\TDMTrendChartForm.ui

     目录          0  2018-09-28 18:44  frozenTableWidget\images

     目录          0  2019-05-26 04:37  frozenTableWidget

----------- ---------  ---------- -----  ----

               104244                    17


评论

共有 条评论