QTableView使用时的注意事项

QTableView设置纵向表头不可见

QTableView::verticalHeader()->setVisible(false);

设置表格的高度

QTableView::verticalHeader()->setDefaultSectionSize(18);
QTableView::verticalHeader()->setMinimumSectionSize(15);

注意setMinimumSectionSize是设置最小高度
若最小高度为25,则setDefaultSectionSize(18)不生效
有时候setDefaultSectionSize就要检测一下最大最小高度是多少

当QTableView的大小发生变化时
如何快捷的获取行号范围

//获取首行行号,value()直接对应行号,可能有一点边界问题
QTableView::verticalScrollBar()->value();
//获取单页有多少行
QTableView::verticalScrollBar()->pageStep();

结合上面两个信息,则可以当前页面的行号范围
其他的方法都不好使

横向表头大小若希望使用字符串长度控制
则用下面代码

ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);

简单表格需要仅可以单行选中时

ui->tableView->setSelectionBehavior (QAbstractItemView::SelectRows);
ui->tableView->setSelectionMode (QAbstractItemView::SingleSelection);
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);

获取选中行

    QModelIndexList list = ui->tableView->selectedIndexes();
    if (list.count() <= 0) return;
    QModelIndex index = ui->tableView->selectionModel()->currentIndex();
    int iSel = index.row();

隐藏网格

ui->tableView->setShowGrid(false);

显示刷新

//直接执行tableView的update()并不能刷新画面,正确的方式如下
方式1 tableView()->viewport()->update();//建议使用方式1
方式2 tableView()->reset();
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值