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


效果:

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);



上一篇:Qt QToolBox QSS设置Tab高度

下一篇:C++ std::reverse函数


Qt
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图