Qt中QTableView的使用

来源:互联网 发布:水浒传的知织归纳 编辑:程序博客网 时间:2024/05/16 06:34

1.表格实现效果
这里写图片描述

2.代码

QString qssdir = QApplication::applicationDirPath();qssdir += "/myqss.qss";QFile qssfile(qssdir);if(!qssfile.open(QIODevice::ReadOnly)){    return;}QByteArray btnstyle = qssfile.readAll();qssfile.close();QTableView* m_dataTable = new QTableView(this);m_dataTable->horizontalHeader()->setStretchLastSection(true);//自动调整最后一列的宽度QStandardItemModel* model = new QStandardItemModel();model->setColumnCount(3);model->setHeaderData(0,Qt::Horizontal,QString::fromLocal8Bit("column1"));model->setHeaderData(1,Qt::Horizontal,QString::fromLocal8Bit("column2"));model->setHeaderData(2,Qt::Horizontal,QString::fromLocal8Bit("column3"));m_dataTable->setModel(model);m_dataTable->setSelectionBehavior(QAbstractItemView::SelectRows);//选中模式为选中一行m_dataTable->setEditTriggers(QAbstractItemView::NoEditTriggers);//不可编辑for(int i =0; i<3; i++){    //m_dataTable->horizontalHeader()->resizeSections(i,QHeaderView::Fixed);//固定宽度,qt4    m_dataTable->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Fixed);//qt5}m_dataTable->horizontalHeader()->setFixedSize(500,100);//设置行表头固定宽高m_dataTable->verticalHeader()->setFixedWidth(50);//设置列表头固定宽度m_dataTable->setColumnWidth(0,100);m_dataTable->setColumnWidth(1,100);m_dataTable->setColumnWidth(2,100);m_dataTable->setStyleSheet(btnstyle);//设置样式for (int i=0; i<3; ++i){    model->setItem(i,0,new QStandardItem("col1"));    model->setItem(i,1,new QStandardItem("col2"));    model->setItem(i,2,new QStandardItem(QString::number(3)));}m_dataTable->setGeometry(0,0,300,500);

3.qss文件

QHeaderView {    font: bold 10pt;    background-color: rgb(100, 100, 100);    border: 2px solid rgb(255, 255, 0);}QHeaderView::section {    color: white;    background-color: rgb(255, 0, 0);}QTableView {    color: white;    gridline-color: red;    background-color: rgb(0, 0, 0);}QTableView QTableCornerButton::section {    background: red;    border: 3px outset black;}
原创粉丝点击