AttributeError: 'QTableWidget' object has no attribute 'setFlags'
时间: 2023-08-18 15:06:48 浏览: 134
对不起,我犯了一个错误。在 PyQt5 中,QTableWidgetItem 类是用于设置表格项的属性的,而不是 QTableWidget 类。以下是更新后的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QWidget, QVBoxLayout
from PyQt5.QtCore import Qt
class MyTableWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.tableWidget = QTableWidget()
self.tableWidget.setRowCount(4)
self.tableWidget.setColumnCount(4)
# 设置表格某几列不可编辑
for col in range(self.tableWidget.columnCount()):
if col in [0, 2]:
for row in range(self.tableWidget.rowCount()):
item = QTableWidgetItem()
item.setFlags(Qt.ItemIsEnabled)
self.tableWidget.setItem(row, col, item)
layout = QVBoxLayout()
layout.addWidget(self.tableWidget)
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication([])
window = MyTableWidget()
window.show()
app.exec_()
```
非常抱歉给你带来了困惑,希望这次的回答能够帮到你。
阅读全文