QTableWidget设置列宽行高大小的几种方式及其他常用属性设置
1.设置列宽行高
- 列宽、行高自动分配
//列宽自动分配 tableWidget.horizontalHeader().sectionResizeMode(QHeaderView::Stretch) //行高自动分配 tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
- 表格适应内容指定列
tableWidget.resizeColumnToContents(column)
- 手动调整
tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Interactive)
- 固定值
tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Fixed)
用户无法调整该部分的大小,该部分只能使用resizeSection()以编程方式调整大小,大小默认为defaultSectionSize。
- 随内容分配列宽
tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Stretch) tableWidget.horizontalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)
- 随内容分配行高
tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch) tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)
- 水平方向标签拓展剩下的窗口部分,填满表格
tableWidget.horizontalHeader().setStretchLastSection(true)
- 列宽是自动分配的,但是第一列可手动调整宽度,而表格整体的列宽仍是自动分配的。第二、三列办法调整列宽,自动分配的
tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Stretch) tableWidget.horizontalHeader().SectionResizeMode(0, QHeaderView::Interactive)
- 自定义列宽
tableWidget.setColumnWidth(0, 40) tableWidget.setColumnWidth(1, 200) tableWidget.setColumnWidth(2, 200)
2.其他属性
- 交替背景色
setAlternatingRowColors(true)
//默认显示行头,如果你觉得不美观的话,我们可以将隐藏 tableview->verticalHeader()->hide(); //设置选中时为整行选中 setSelectionBehavior(QAbstractItemView::SelectRows); //设置表格的单元为只读属性,即不能编辑 setEditTriggers(QAbstractItemView::NoEditTriggers); //显示QTableWidget组件中的线 setShowGrid(true); //去除选中虚线框 setFocusPolicy(Qt::NoFocus); //设置非单元滚动 setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); //设置非单元滚动 setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); //隔行交替背景色 setAlternatingRowColors(true) //通过stylesheet或者qss可设置自定义背景色
分类:
c++/qt阅读笔记
标签:
Modle/View -Qt
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!