QTableWidget表格内容自适应列宽

 调用函数:

void QHeaderView::setSectionResizeMode(ResizeMode mode)

参数:


QHeaderView::Interactive
用户可以调整部分的大小。 也可以使用resizeSection()以编程方式调整该部分的大小。 段大小默认为defaultSectionSize。 (另请参见cascadingSectionResizes。)

QHeaderView::Fixed
用户无法调整该部分的大小。 只能使用resizeSection()以编程方式调整该部分的大小。 段大小默认为defaultSectionSize。

QHeaderView::Stretch
QHeaderView将自动调整该部分的大小以填充可用空间。 大小不能由用户或以编程方式更改。屏幕不够大时,会自动缩小,不出现滚动条。

QHeaderView::ResizeToContents
QHeaderView将自动调整该部分的大小以填充可用空间。 大小不能由用户或以编程方式更改。会出现滚动条,显示完整。

也可以混合使用。

this->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);    //x先自适应宽度
this->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);     //然后设置要根据内容使用宽度的列

 

  • 18
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
你可以使用QTableWidget的resizeColumnToContents()方法来设置手动调整列宽。该方法将根据列内容自动调整列宽。为了允许用户手动调整列宽,你需要将QTableWidget的horizontalHeader()属性的setSectionResizeMode()方法设置为QHeaderView::Interactive。下面是一个简单的例子: ```python from PyQt5.QtWidgets import QApplication, QTableWidget, QMainWindow, QTableWidgetItem, QHeaderView import sys class MainWindow(QMainWindow): def __init__(self): super().__init__() # 创建一个QTableWidget self.table = QTableWidget() # 设置表格大小和行列数 self.table.setColumnCount(3) self.table.setRowCount(2) # 设置表格头 self.table.setHorizontalHeaderLabels(['Name', 'Age', 'Gender']) # 设置表格内容 self.table.setItem(0, 0, QTableWidgetItem('Alice')) self.table.setItem(0, 1, QTableWidgetItem('25')) self.table.setItem(0, 2, QTableWidgetItem('Female')) self.table.setItem(1, 0, QTableWidgetItem('Bob')) self.table.setItem(1, 1, QTableWidgetItem('30')) self.table.setItem(1, 2, QTableWidgetItem('Male')) # 设置表格列宽自适应 self.table.resizeColumnToContents(0) self.table.resizeColumnToContents(1) self.table.resizeColumnToContents(2) # 允许用户手动调整列宽 self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Interactive) # 将表格添加到主窗口中 self.setCentralWidget(self.table) if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ``` 在上面的例子中,我们首先创建了一个QTableWidget,并设置了表格的大小和行列数。然后,我们设置了表格头和表格内容。接下来,我们使用resizeColumnToContents()方法将表格列宽自适应。最后,我们将表格的水平表头的setSectionResizeMode()方法设置为QHeaderView::Interactive,允许用户手动调整列宽。最后,我们将表格添加到主窗口中并显示出来。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值