Qt中QTableView的使用

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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

努力减肥的小胖子5

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

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

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

打赏作者

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

抵扣说明:

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

余额充值