QTableView表格视图的列宽设置
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表格视图的列宽设置相关推荐
- datagridview固定列宽_winform中的DataGridView的列宽设置
DataGridView有一个属性AutoSizeColumnMode,他有很多枚举值: 1.AllCells 调整列宽,以适合该列中的所有单元格的内容,包括标题单元格. 2.AllCellsExce ...
- 计算机考试行高怎么设置,2017年职称计算机考试WPS教程:表格行高列宽的调整...
2017年职称计算机考试WPS教程:表格行高列宽的调整 导语:在WPS教程中的表格行高列宽的调整是怎样的呢?下面我么一起来看看相关的具体操作是怎样的吧.更多相关内容请上应届毕业生考试网查询. 表格行高 ...
- QTableView 列宽设置解释
1.列宽设置如下: view->setColumnWidth(1, 100);//设置第1列宽100view->resizeColumnToContents(1);//设置第1列宽度自适应 ...
- EasyExcel代码层面设置写出的Excel样式、以及拦截器策略的使用、自动列宽设置、EasyExcel默认设置详解
一.概述 虽然EasyExcel已经提供了一系列注解方式去设置样式. 但是如果没有实体类,或者想要更精确的去设置导出文件的Excel样式的时候就需要在代码层面去控制样式了. 二.使用已有拦截器自定义样 ...
- TIA博途Wincc_报警视图的列宽调整的具体方法示例
TIA博途Wincc_报警视图的列宽调整的具体方法示例 如下图所示,在博途Wincc中添加报警视图后,报警信息的列与列之间间距过小,导致显示内容有冲突, 解决办法: 如下图所示,在报警视图上鼠标右击, ...
- HTML列宽调整,调整表格中的列宽(CSS/HTML)
我一直试图让移动上的列宽变为50%,但是我尝试过的所有内容都没有奏效.这是CSS.调整表格中的列宽(CSS/HTML) @media (max-width: 768px) { #customTable ...
- EasyExcel表格导出自动列宽设定
EasyExcel表格导出自动列宽设定 public static class AutoColumnWidthStrategy implements CellWriteHandler {@Overri ...
- LabVIEW 调整Table表格行高列宽的方法与例程
LabVIEW 调整Table表格行高列宽的方法与例程 在 VI 运行时,可以用两种不同的方式更改表中的列宽度.首先,可以用鼠标更改它们:其次,可以通过属性节点编程更改它们. 手部更列表的宽度 只有在 ...
- EXCEL如何设置,使表格能自动调整列宽以适应文字长度
方法一.选择单元格,然后依次选择格式-行-自动调整行宽:列宽同一个原理. 方法二.字输入之后,光标移到列右侧的竖线顶端,变为双箭头,双击,列宽就自动适应文字的宽度了.双击横线左端,可以调整行高. 表格 ...
最新文章
- 应用函数修饰符@来改变AI Studio的输出信息
- C# 功能完整的单表增删改查程序
- android studio 自动生成对象,在Android Studio中快速导入可绘制对象的方法?
- python -- 三元运算符
- python自动拨号_Python自动连接ssh的方法
- ActiveMq工作笔记002---Centos7.3安装ActiveMq
- python3简明教程-实验楼_#python实验楼教程#学Python哪里有一问一答的Python学习?求具体的~...
- 124.《sql,json编辑器之CodeMirror》
- 【R语言】敏感度、特异度、准确率检验及置信区间求解
- 电源 PFC(功率因数校正)电路拓扑,共计100多份,内含A PFC,连续断续,交错,维也纳,各功率段的PFC电路
- MindSpore前馈神经网络运用
- vim 配置(有插件)
- mysql中身份证号判断男女人数
- 自然语言14_Stemming words with NLTK
- Android上多进程中使用webview的问题
- 目标检测, 实例分割, 图像分类, panoptic segmentation文献
- 多元线性回归分析理论详解及SPSS结果分析
- 远远被大家低估了的实用智能家居设备——窗帘电机
- 学计算机买笔记本是i5 i7,i7一定比i5强?买电脑陷阱你一定要注意了
- fdisk 命令实现磁盘分区详细教程
热门文章
- 大竹中学2021高考成绩查询,2021年大竹中学升学率高不高?
- java $.getjson_JQuery 获取json数据$.getJSON方法的实例代码
- ios开发 ajax hook,IOS中的网络拦截总结
- lol游戏挂机软件_LOL出手整治,大量玩家被封10年,代练屡禁不止的原因找到了...
- android javacv直播,无插件即时视频播放
- secureCrt开启oracle
- java ssh工具类_JAVA SSH2工具类
- fmt打印不显示 go_golang打印输出fmt和log
- 微信jsapi支付获取code_微信支付(公众号支付JSAPI)
- 这样的阅读工具,人手一个不过分吧?