要使QTableWidget的列占据最大空间,可以使用以下方法:
QHeaderView是QTableWidget的列头部件,可以通过设置QHeaderView的sectionResizeMode属性来控制列宽。
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QHeaderView
app = QApplication([])
table = QTableWidget()
table.setColumnCount(3)
table.setRowCount(5)
header = table.horizontalHeader()
header.setSectionResizeMode(QHeaderView.ResizeMode.Stretch)
for i in range(5):
for j in range(3):
table.setItem(i, j, QTableWidgetItem(f"Item {i+1}-{j+1}"))
table.show()
app.exec_()
QTableWidget的resizeColumnsToContents方法可以根据内容自动调整列宽。
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
app = QApplication([])
table = QTableWidget()
table.setColumnCount(3)
table.setRowCount(5)
for i in range(5):
for j in range(3):
table.setItem(i, j, QTableWidgetItem(f"Item {i+1}-{j+1}"))
table.resizeColumnsToContents()
table.show()
app.exec_()
QTableWidget的setColumnWidth方法可以设置指定列的宽度。
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
app = QApplication([])
table = QTableWidget()
table.setColumnCount(3)
table.setRowCount(5)
for i in range(5):
for j in range(3):
table.setItem(i, j, QTableWidgetItem(f"Item {i+1}-{j+1}"))
table.setColumnWidth(0, 100)
table.setColumnWidth(1, 200)
table.setColumnWidth(2, 300)
table.show()
app.exec_()
以上是三种常用的方法,可以根据需要选择合适的方法来使QTableWidget的列占据最大空间。
领取专属 10元无门槛券
手把手带您无忧上云