目录
1——创建表格内容
QStandardItemModel* m_standardItemModel = new QStandardItemModel(this);
QStandardItem *item = new QStandardItem(“李四”);
m_standardItemModel->setItem(i,j,item);//行、列、元素
tableView->setModel(m_standardItemModel);
默认行头和列头是存在的,如果要隐藏的话可以执行下面的代码:
tableView->horizontalHeader()->hide();
tableView->verticalHeader()->hide();
//方式二
tableView->verticalHeader()->setVisible(false);
tableview视图如下:
2——tableview的单击元素的触发信号
connect(tableview, SIGNAL(clicked(const QModelIndex &)), this, SLOT(onTableClicked(const QModelIndex &)));
void LTableView::onTableClicked(const QModelIndex &index)
{
qDebug() << "123";
if (index.isValid())
{
QString cellText = index.data().toString();
qDebug() << cellText;
}
}
3——tableview清除表格全部数据的方法
//方式1
m_standardItemModel->clear();
//方式2
m_standardItemModel->removeRows(0,m_standardItemModel->rowCount()); //删除所有行
4——设置所有的列宽和行高
tableView->verticalHeader()->setDefaultSectionSize(32);
tableView->horizontalHeader()->setDefaultSectionSize(48);
5——隐藏滚动条
//隐藏滚动条
m_ltableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
6——设置无边框
m_tableView->setWindowFlags(Qt::FramelessWindowHint);
7——设置背景颜色
方式一:
QStandardItem *item = new QStandardItem("qwert");
item->setBackground(QBrush(QColor("#FF1493")));
item.setForegroundColor(Qt::red);
方式二:
QStandardItem item;
item.setData(QColor(Qt::green), Qt::BackgroundRole);
item.setData(QColor(Qt::red), Qt::FontRole);
8——获取当前选中行
int row = myTableView->selectionModel()->currentIndex().row();