QTableView表格视图的列宽设置

Qt中的表格控件可以通过从QTableView或QTableWidget派生子类实现。其中,QTableWidget只是对QTableView的一种简单封装。因为使用QTableView常常需要用户指定自定义的Model,这意味使用起来不够轻便。有时候我们只是想利用一些简单的表格功能,不需要对表格展示有多强大的控制。那么,QTableWidget便是一个不错的选择。这篇博文主要记录表格的列宽和行高的设置。

方法一:

恰当的设置表格的列宽往往能给表格的美观性带来较好的效果。一种简单的方法是:调用表头的setSectionResizeMode()方法,代码如下:

1
m_tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);

  参数QHeaderView::ResizeToContens说明:调整列宽以适应单元内容。也就是说,当单元内的文本较长的时候,这种方法将会严重影响表格的阅读。这种方法只适合端文本内容的使用。此外,这种方法还有一个缺点,设置了这种缩放方式之后,表头就不能再被拉伸完全失去响应。

方法二:

注意到QTableView类还有一个成员方法:setColumnWidth(),显然是用来设置表格列宽的。但是,这里有个要求。所有对setColumnWidth()的调用都要放在setModel()之后。如果在设置View类的Model之前就调用该方法来设置列宽,是不会起作用的。代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
m_viewList = new QTableView(this);
m_viewList->setSelectionBehavior(QAbstractItemView::SelectRows);
m_viewList->setSelectionMode(QAbstractItemView::SingleSelection);
m_viewList->setSortingEnabled(false);
m_viewList->verticalHeader()->hide();
m_viewList->setWordWrap(false);
m_viewList->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
m_viewList->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
m_viewList->setShowGrid(false);
m_viewList->setEditTriggers(QAbstractItemView::NoEditTriggers);
m_viewList->horizontalHeader()->setHighlightSections(false);
m_viewList->setItemDelegate(new NoFocusDelegate());
m_viewList->setModel(m_proxyModel);
m_viewList->setAlternatingRowColors(true);  // alternative colors
m_viewList->setFrameShape(QFrame::NoFrame);
// column width
m_viewList->setColumnWidth(0, 85);
m_viewList->setColumnWidth(1, 180);
m_viewList->setColumnWidth(2, 90);
m_viewList->setColumnWidth(3, 80);
m_viewList->setColumnWidth(4, 80);
m_viewList->setColumnWidth(5, 30);
m_viewList->setColumnWidth(6, 40);
m_viewList->setColumnWidth(7, 120);
m_viewList->setColumnWidth(8, 120);
m_viewList->setColumnWidth(9, 120);

QTableView表格视图的列宽设置相关推荐

  1. datagridview固定列宽_winform中的DataGridView的列宽设置

    DataGridView有一个属性AutoSizeColumnMode,他有很多枚举值: 1.AllCells 调整列宽,以适合该列中的所有单元格的内容,包括标题单元格. 2.AllCellsExce ...

  2. 计算机考试行高怎么设置,2017年职称计算机考试WPS教程:表格行高列宽的调整...

    2017年职称计算机考试WPS教程:表格行高列宽的调整 导语:在WPS教程中的表格行高列宽的调整是怎样的呢?下面我么一起来看看相关的具体操作是怎样的吧.更多相关内容请上应届毕业生考试网查询. 表格行高 ...

  3. QTableView 列宽设置解释

    1.列宽设置如下: view->setColumnWidth(1, 100);//设置第1列宽100view->resizeColumnToContents(1);//设置第1列宽度自适应 ...

  4. EasyExcel代码层面设置写出的Excel样式、以及拦截器策略的使用、自动列宽设置、EasyExcel默认设置详解

    一.概述 虽然EasyExcel已经提供了一系列注解方式去设置样式. 但是如果没有实体类,或者想要更精确的去设置导出文件的Excel样式的时候就需要在代码层面去控制样式了. 二.使用已有拦截器自定义样 ...

  5. TIA博途Wincc_报警视图的列宽调整的具体方法示例

    TIA博途Wincc_报警视图的列宽调整的具体方法示例 如下图所示,在博途Wincc中添加报警视图后,报警信息的列与列之间间距过小,导致显示内容有冲突, 解决办法: 如下图所示,在报警视图上鼠标右击, ...

  6. HTML列宽调整,调整表格中的列宽(CSS/HTML)

    我一直试图让移动上的列宽变为50%,但是我尝试过的所有内容都没有奏效.这是CSS.调整表格中的列宽(CSS/HTML) @media (max-width: 768px) { #customTable ...

  7. EasyExcel表格导出自动列宽设定

    EasyExcel表格导出自动列宽设定 public static class AutoColumnWidthStrategy implements CellWriteHandler {@Overri ...

  8. LabVIEW 调整Table表格行高列宽的方法与例程

    LabVIEW 调整Table表格行高列宽的方法与例程 在 VI 运行时,可以用两种不同的方式更改表中的列宽度.首先,可以用鼠标更改它们:其次,可以通过属性节点编程更改它们. 手部更列表的宽度 只有在 ...

  9. EXCEL如何设置,使表格能自动调整列宽以适应文字长度

    方法一.选择单元格,然后依次选择格式-行-自动调整行宽:列宽同一个原理. 方法二.字输入之后,光标移到列右侧的竖线顶端,变为双箭头,双击,列宽就自动适应文字的宽度了.双击横线左端,可以调整行高. 表格 ...

最新文章

  1. 应用函数修饰符@来改变AI Studio的输出信息
  2. C# 功能完整的单表增删改查程序
  3. android studio 自动生成对象,在Android Studio中快速导入可绘制对象的方法?
  4. python -- 三元运算符
  5. python自动拨号_Python自动连接ssh的方法
  6. ActiveMq工作笔记002---Centos7.3安装ActiveMq
  7. python3简明教程-实验楼_#python实验楼教程#学Python哪里有一问一答的Python学习?求具体的~...
  8. 124.《sql,json编辑器之CodeMirror》
  9. 【R语言】敏感度、特异度、准确率检验及置信区间求解
  10. 电源 PFC(功率因数校正)电路拓扑,共计100多份,内含A PFC,连续断续,交错,维也纳,各功率段的PFC电路
  11. MindSpore前馈神经网络运用
  12. vim 配置(有插件)
  13. mysql中身份证号判断男女人数
  14. 自然语言14_Stemming words with NLTK
  15. Android上多进程中使用webview的问题
  16. 目标检测, 实例分割, 图像分类, panoptic segmentation文献
  17. 多元线性回归分析理论详解及SPSS结果分析
  18. 远远被大家低估了的实用智能家居设备——窗帘电机
  19. 学计算机买笔记本是i5 i7,i7一定比i5强?买电脑陷阱你一定要注意了
  20. fdisk 命令实现磁盘分区详细教程

热门文章

  1. 大竹中学2021高考成绩查询,2021年大竹中学升学率高不高?
  2. java $.getjson_JQuery 获取json数据$.getJSON方法的实例代码
  3. ios开发 ajax hook,IOS中的网络拦截总结
  4. lol游戏挂机软件_LOL出手整治,大量玩家被封10年,代练屡禁不止的原因找到了...
  5. android javacv直播,无插件即时视频播放
  6. secureCrt开启oracle
  7. java ssh工具类_JAVA SSH2工具类
  8. fmt打印不显示 go_golang打印输出fmt和log
  9. 微信jsapi支付获取code_微信支付(公众号支付JSAPI)
  10. 这样的阅读工具,人手一个不过分吧?