当前位置: 首页 > 网络知识

Qt QTableWidget 设置列宽行高大小的几种方式及其他常用属性设置

时间:2026-01-29 09:27:02

效果:

1.列宽、行高自动分配

1 //列宽自动分配 2 tableWidget.horizontalHeader().sectionResizeMode(QHeaderView::Stretch) 3 //行高自动分配 4 tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)

2.固定值

tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Fixed)

3.随内容分配列宽 随内容分配行高

1 tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch) 2 tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents) 3 4 tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch) 5 tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)

4.水平方向标签拓展剩下的窗口部分,填满表格

tableWidget.horizontalHeader().setStretchLastSection(true)

5.列宽是自动分配的,但是第一列可手动调整宽度,而表格整体的列宽仍是自动分配的。第二、三列办法调整列宽,自动分配的

1 tableWidget.horizontalHeader().SectionResizeMode(QHeaderView::Stretch) 2 tableWidget.horizontalHeader().SectionResizeMode(0, QHeaderView::Interactive)

6.手动自定义列宽

1 tableWidget>setColumnWidth(0, 200); 2 tableWidget>setColumnWidth(1, 200); 3 tableWidget>setColumnWidth(2, 150); 4 tableWidget>setColumnWidth(3, 120); 5 tableWidget>setColumnWidth(4, 150);

7. 其实也可以设置宽度比例

1 int width = m_Controls.tableWidget>width(); 2 m_Controls.tableWidget>setColumnWidth(0, width/5); 3 m_Controls.tableWidget>setColumnWidth(1, width/5*2); 4 m_Controls.tableWidget>setColumnWidth(2, width/5 ); 5 m_Controls.tableWidget>setColumnWidth(3, width/5);

9.隐藏 默认显示行头

tableWidget>verticalHeader()>setVisible(false)

10.设置选中时为整行选中

tableWidget>setSelectionBehavior(QAbstractItemView::SelectRows);
tableWidget>setEditTriggers(QAbstractItemView::NoEditTriggers);

12. 显示QTableWidget组件中的线

tableWidget>setShowGrid(true);

13.去除选中虚线框

tableWidget>setFocusPolicy(Qt::NoFocus);

14.设置非单元滚动

1 tableWidget>setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); 2 3 tableWidget>setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);

15.隔行交替背景色

tableWidget>setAlternatingRowColors(true)

16.QTableWidget类中的常用方法

17.编辑规则的枚举值类型

18.表格选择行为的枚举值

19.单元格文本水平对齐方式

20. 单元格文本垂直对齐方式

如果要设置水平和垂直方向对齐方式,比如在表格空间内上下,左右居中对齐,那么只要使用Qt,AlignHCenter和Qt,AlignVCenter即可

注意:

如数据也需要设置列数,否则可能不显示;

tableWidget>setColumnCount(10);



上一篇:C++11标准模板(STL) 算法(std::reverse)
下一篇:Qt 配置Eigen
Qt
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素