QTableView表格视图的列宽设置
来源:互联网 发布:轻松的工作 知乎 编辑:程序博客网 时间:2024/05/21 16:10
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);
阅读全文
0 0
- QTableView表格视图的列宽设置
- QTableView表格视图的列宽设置
- QT - QTableView表格视图的列宽设置
- QTableView设置列宽
- QTableView,QHeaderView 设置列宽
- QTableView是显示表格状的视图
- JTable 如何设置表格的列宽
- QTableView、QTableWidget设置默认行高和列宽
- QTableView 设置列头 setHeaderView()
- QtCreator QTableView用法大全,隐藏列,添加关系表,设置列宽,设置显示列名(持续添加)
- jqGrid插件的多个表格同步设置列宽
- 动态设置表格列的大小
- 灵活设置表格的某一列颜色
- QTableView表格中出现多余的Checkbox
- QTableView表格中出现多余的Checkbox
- RCP中视图中表格选中列监听返回该列信息的方法
- swift3.0多列表格 行和列可以滚动的集合视图
- 数组与集合的应用之数组演练(用数组设置JTable表格的列名与列宽)
- 安装词云wordcloud报错:Microsoft Visual C++ 14.0 is required.
- html中实现多文件选择器
- 《ReactNative》之百度地图打包时遇到的问题
- SGU 499 Max Gcd——枚举因子
- 将本地项目上传至Github
- QTableView表格视图的列宽设置
- Wayland(1):X Window的前生今世
- 练习:经典搜索题
- 连续总结第二十七天
- CString 和int相互转化
- 查找死锁的方法
- 面向对象(一)
- quartz 实现定时作业 初级
- 在cocos2dx界面中嵌入android的webview。(c++篇,包含c++和java的交互)