QTableWidget 设置列宽行高大小的几种方式及其他常用属性设置
  svdVS8fLqb4I 2023年12月08日 39 0


目录

效果:

1.列宽、行高自动分配

2.固定值

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

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

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

6.手动 自定义列宽

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

8. QTableWidgetItem QLable 字符过长 省略显示

9.隐藏 默认显示行头

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

12. 显示QTableWidget组件中的线

13.去除选中虚线框

14.设置非单元滚动

15.隔行交替背景色

16.QTableWidget类中的常用方法

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

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

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

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

注意:



效果:

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

1.列宽、行高自动分配

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

2.固定值

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

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

tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)

tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)
tableWidget.verticalHeader().SectionResizeMode(0, QHeaderView::ResizeToContents)

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

tableWidget.horizontalHeader().setStretchLastSection(true)

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

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

6.手动 自定义列宽

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

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

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

8. QTableWidgetItem QLable 字符过长 省略显示


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.设置非单元滚动

tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
 
tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);

15.隔行交替背景色

tableWidget->setAlternatingRowColors(true)

16.QTableWidget类中的常用方法

方法

描述

setROwCount(int row)

设置QTableWidget表格控件的行数

setColumnCount(int col)

设置QTableWidget表格控件的列数

setHorizontalHeaderLabels()

设置QTableWidget表格控件的水平标签

setVerticalHeaderLabels()

设置QTableWidget表格控件的垂直标签

setItem(int ,int ,QTableWidgetItem)

在QTableWidget表格控件的每个选项的单元控件内添加控件

horizontalHeader()

获得QTableWidget表格控件的表格头,以便执行隐藏

rowCount()

获得QTableWidget表格控件的行数

columnCount()

获得QTableWidget表格控件的列数

setEditTriggers(EditTriggers triggers)

设置表格是否可以编辑,设置表格的枚举值

setSelectionBehavior

设置表格的选择行为

setTextAlignment()

设置单元格内文本的对齐方式

setSpan(int row,int column,int rowSpanCount,int columnSpanCount)

合并单元格,要改变单元格的第row行,column列,要合并rowSpancount行数和columnSpanCount列数

row:要改变的行数

column:要改变的列数

rowSpanCount:需要合并的行数

columnSpanCount:需要合并的列数

setShowGrid()

在默认情况下表格的显示是有网格的,可以设置True或False用于是否显示,默认True

setColumnWidth(int column,int width)

设置单元格行的宽度

setRowHeight(int row,int height)

设置单元格列的高度


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

选项


描述

QAbstractItemView.NoEditTriggers0No

0

不能对表格内容进行修改

QAbstractItemView.CurrentChanged1Editing

1

任何时候都能对单元格进行修改

QAbstractItemView.DoubleClicked2Editing

2

双击单元格

QAbstractItemView.SelectedClicked4Editing

4

单击已经选中的内容

QAbstractItemView.EditKeyPressed8Editing

8

当修改键按下时修改单元格

QAbstractItemView.AnyKeyPressed16Editing

16

按任意键修改单元格

QAbstractItemView.AllEditTriggers31Editing

31

包括以上所有条件

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

选择


描述

QAbstractItemView.SelectItems0Selecting

0

选中单个单元格

QAbstractItemView.SelectRows1Selecting

1

选中一行

QAbstractItemView.SelectColumns2Selecting

2

选中一列

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

选项

描述

Qt.AlignLeft

将单元格内的内容沿单元格的左边缘对齐

Qt.AlignRight

将单元格内的内容沿单元格的右边缘对齐

Qt.AlignHCenter

在可用空间中,居中显示在水平方向上

Qt.AlignJustify

将文本在可用空间内对齐,默认从左到右

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

选项

描述

Qt.AlignTop

与顶部对齐

Qt.AlignBottom

与底部对齐

Qt.AlignVCenter

在可用空间中,居中显示在垂直方向上

Qt.AlignBaseline

与基线对齐

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

注意:

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

tableWidget->setColumnCount(10);
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月08日 0

暂无评论

推荐阅读
svdVS8fLqb4I