要使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的列占据最大空间。
DB TALK 技术分享会
云+社区沙龙online [技术应变力]
TC-Day
TC-Day
云+社区技术沙龙[第9期]
云+社区沙龙online第6期[开源之道]
云+社区技术沙龙 [第31期]
技术创作101训练营
GAME-TECH
腾讯云“智能+互联网TechDay”
GAME-TECH
领取专属 10元无门槛券
手把手带您无忧上云