要设置QTableWidget中的列宽不可被拖拽更改,可以使用setHorizontalHeader的方法设置每一列的resizeMode属性为Fixed。下面是一个示例代码:
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
app = QApplication([])
table = QTableWidget()
table.setColumnCount(3)
table.setRowCount(4)
table.setHorizontalHeaderLabels(["Column 1", "Column 2", "Column 3"])
# 设置列宽固定
for i in range(table.columnCount()):
table.horizontalHeader().setSectionResizeMode(i, QHeaderView.Fixed)
# 添加数据
for row in range(table.rowCount()):
for col in range(table.columnCount()):
item = QTableWidgetItem(f"Row {row+1}, Column {col+1}")
table.setItem(row, col, item)
table.show()
app.exec_()
这样设置之后,表格中的列宽将无法通过鼠标拖拽来更改大小。
内容由零声教学AI助手提供,问题来源于学员提问