pyqt QTableWidget设置鼠标悬浮在表头上时不显示调整宽度
时间: 2024-10-09 12:12:33 浏览: 75
在PyQt中,如果你想要在QTableWidget的表头区域悬停时不显示调整列宽的边框,你可以通过禁用`horizontalHeader()`的`setSectionResizeMode()`方法中的`QHeaderView.Stretch`模式来实现。默认情况下,QHeaderView.Stretch允许用户通过鼠标拖动调整列宽。
下面是一个简单的示例:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QHeaderView
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.table = QTableWidget()
self.setCentralWidget(self.table)
# 设置表头为固定宽度模式
self.table.setHorizontalHeader(QHeaderView.Fixed)
self.table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents)
# 防止用户调整列宽
self.table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeToContents) # 或者设置特定列的模式为非伸缩
for i in range(1, self.table.columnCount()):
self.table.horizontalHeader().setSectionResizeMode(i, QHeaderView.Fixed)
if __name__ == "__main__":
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
在这个例子中,我们设置了所有列的表头为非伸缩模式,用户无法通过鼠标悬浮时调整列宽。
阅读全文