QTableWidget 禁止拖动表头宽度
时间: 2024-03-04 19:27:19 浏览: 201
可以通过设置QHeaderView的resizeMode属性来禁止拖动表头宽度。具体实现方法如下:
```python
from PyQt5.QtWidgets import QTableWidget, QHeaderView
table = QTableWidget()
header = table.horizontalHeader()
# 禁止拖动列宽
header.setSectionResizeMode(QHeaderView.Fixed)
```
将QHeaderView的resizeMode属性设置为Fixed即可禁止拖动列宽。
相关问题
qtablewidget设置表头宽度按比例,不可拖动
要设置QTableWidget的表头宽度按比例分配,并且不可拖动,可以使用QHeaderView的setSectionResizeMode方法。以下是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QHeaderView
app = QApplication([])
table = QTableWidget()
table.setColumnCount(3)
table.setRowCount(5)
table.setHorizontalHeaderLabels(['Column 1', 'Column 2', 'Column 3'])
header = table.horizontalHeader()
header.setSectionResizeMode(0, QHeaderView.Stretch)
header.setSectionResizeMode(1, QHeaderView.ResizeToContents)
header.setSectionResizeMode(2, QHeaderView.Stretch)
header.setMovable(False) # 禁止拖动表头
table.show()
app.exec_()
```
在上述代码中,我们首先创建了一个QTableWidget并设置了列数和行数。然后,我们使用setHorizontalHeaderLabels方法设置表头标签。接下来,我们获取了QTableWidget的水平表头对象,并使用setSectionResizeMode方法来设置列的调整模式。在这里,我们将第一列和第三列的宽度设置为可拉伸(按比例分配),第二列的宽度设置为根据内容调整(自动调整),并且禁止拖动表头。
请注意,这只是一个示例代码,您可以根据您的需求进行调整和修改。
c++ qtablewidget设置表头宽度按比例,不可拖动
要按比例设置QTableWidget的表头宽度并且禁止拖动,你可以使用QHeaderView类来实现。下面是一个示例代码片段,演示了如何按比例设置表头宽度并禁用拖动:
```cpp
// 获取表头
QHeaderView* header = ui->tableWidget->horizontalHeader();
// 设置表头的默认的最小和最大宽度
header->setMinimumSectionSize(100);
header->setMaximumSectionSize(100);
// 设置表头的ResizeMode为Fixed,禁用拖动
header->setSectionResizeMode(QHeaderView::Fixed);
// 设置表头的宽度比例
header->setSectionResizeMode(0, QHeaderView::Stretch); // 第一列占比为1
header->setSectionResizeMode(1, QHeaderView::ResizeToContents); // 第二列根据内容自适应
```
在这个示例中,`ui->tableWidget`是你的QTableWidget对象。首先,我们获取水平表头的QHeaderView对象,并设置默认的最小和最大宽度为100。然后,我们将ResizeMode设置为Fixed,这将禁用拖动功能。最后,我们使用`setSectionResizeMode`函数来设置表头的宽度比例。在这个示例中,第一列占比为1,第二列根据内容自适应。
你可以根据需要修改示例代码来适应你的具体情况。希望这可以帮助到你!如果还有其他问题,请随时提问。
阅读全文