PySide2,如何拉伸QTableWidget以适应窗口?

2024-03-29 06:27:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让一个QTableWidget水平拉伸以适应窗口宽度,但我找不到如何做。我是新来的

floowing代码片段和图像显示,在水平调整程序窗口大小时,QLineEdit会拉伸以适应窗口宽度,但QTableWidget不会

enter image description here

import sys
from PySide2.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit, QTableWidget

app = QApplication(sys.argv)

win = QWidget()
win.setWindowTitle('test')
win.setMinimumWidth(400)

layV1 = QVBoxLayout()
win.setLayout(layV1)

entry = QLineEdit(win)
entry.setPlaceholderText('test entry widget')
layV1.addWidget(entry)

table = QTableWidget(win)
table.setRowCount(10)
table.setColumnCount(5)
layV1.addWidget(table)

win.show()
app.exec_()

Tags: testimportapp宽度systable水平win
1条回答
网友
1楼 · 发布于 2024-03-29 06:27:22

可以使用此选项拉伸最后一个部分:

table.horizontalHeader().setStretchLastSection(True) 

如果要拉伸特定列,则需要使用QHeaderView。 用你的代码做一个简单的例子

headerView = QHeaderView(QtCore.Qt.Horizontal, table)
table.setHorizontalHeader(headerView)
headerView.setSectionResizeMode(2, QHeaderView.Stretch)
headerView.setSectionsClickable(True)

只需将2替换为需要拉伸的列即可

相关问题 更多 >