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

目录

效果:

1.列宽、行高自动分配

2.固定值

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

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

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

6.手动 自定义列宽

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

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

9.隐藏 默认显示行头

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

12. 显示QTableWidget组件中的线

13.去除选中虚线框

14.设置非单元滚动

15.隔行交替背景色

16.QTableWidget类中的常用方法

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

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

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

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

注意:



效果:

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 字符过长 省略显示

https://blog.csdn.net/q610098308/article/details/134446165

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.NoEditTriggers0No0不能对表格内容进行修改
QAbstractItemView.CurrentChanged1Editing1任何时候都能对单元格进行修改
QAbstractItemView.DoubleClicked2Editing2双击单元格
QAbstractItemView.SelectedClicked4Editing4单击已经选中的内容
QAbstractItemView.EditKeyPressed8Editing8当修改键按下时修改单元格
QAbstractItemView.AnyKeyPressed16Editing16按任意键修改单元格
QAbstractItemView.AllEditTriggers31Editing31包括以上所有条件

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

选择描述
QAbstractItemView.SelectItems0Selecting0选中单个单元格
QAbstractItemView.SelectRows1Selecting1选中一行
QAbstractItemView.SelectColumns2Selecting2选中一列

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

  • 22
    点赞
  • 146
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恋恋西风

up up up

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值