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;
}