QTableView表头填满控件,表头对齐
关于QTableView表头美化、对齐的问题经常操作QTableView,遇到表头无法对齐所在容器的情况,如下图所示:,当表头不能和QTableView控件宽度一致时,及其影响美观。解决办法在QTableView里ui->tableView->horizontalHeader()->setStretchLastSection(true)可以让最后一列...
·
关于QTableView表头美化、对齐的问题
经常操作QTableView,遇到表头无法对齐所在容器的情况,如下图所示:
,当表头不能和QTableView控件宽度一致时,及其影响美观。
解决办法
在QTableView里
ui->tableView->horizontalHeader()->setStretchLastSection(true)
可以让最后一列填充整个表头:
效果如下:
另外均分填充表头采用
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
程序部分代码参考
设置相关代码如下:
void Widget::Init()
{
QStringList strHeader;
strHeader << "name"
<< "age"
<< "sex";
if(NULL == m_model)
{
m_model = new QStandardItemModel();
}
//添加表头数据
m_model->setHorizontalHeaderLabels(strHeader);
//设置列数
m_model->setColumnCount(strHeader.size());
//设置行数
m_model->setRowCount(2);
//隐藏列表头
ui->tableView->verticalHeader()->hide();
//setModel
ui->tableView->setModel(m_model);
//表头qss设置
QString strHeaderQss;
strHeaderQss = "QHeaderView::section { background:green; color:white;min-height:3em;}";
ui->tableView->setStyleSheet(strHeaderQss);
//表头设置最后一列数据填充整个控件
ui->tableView->horizontalHeader()->setStretchLastSection(true);
//表头内容均分填充整个控件
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
}
工程路径:
https://github.com/lesliefish/Qt/tree/master/UI/QTableView/QTableView
更多推荐
已为社区贡献1条内容
所有评论(0)