PySide2,如何拉伸QTableWidget以适合Window witdh?

问题描述 投票:0回答:1

我正在尝试水平拉伸QTableWidget以适合窗口宽度,但是我找不到如何做到这一点。我是Qt的新手。

浮动的代码段和图像显示,在水平调整程序窗口大小时,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_()
python qt width pyside qtablewidget
1个回答
0
投票

您可以使用它来延伸最后一部分:

table.horizontalHeader().setStretchLastSection(True) 

如果要拉伸特定的列,则需要使用QHeaderView。您的代码的快速示例。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.