QtableWidget选中删除行
时间: 2023-05-25 20:03:14 浏览: 88
可以使用以下步骤在QTableWidget中选中并删除行:
1. 获取当前选中的行号
```
selected_row = tableWidget.currentRow()
```
2. 如果选中行不为空,则删除该行
```
if selected_row != -1:
tableWidget.removeRow(selected_row)
```
完整的代码示例:
```
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QWidget, QVBoxLayout, QPushButton
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.tableWidget = QTableWidget()
self.tableWidget.setRowCount(4) # 设置行数
self.tableWidget.setColumnCount(2) # 设置列数
# 在单元格中添加数据
for row in range(4):
for column in range(2):
item = QTableWidgetItem("Cell %d-%d" % (row, column))
self.tableWidget.setItem(row, column, item)
self.delete_button = QPushButton('删除选中行')
self.delete_button.clicked.connect(self.delete_selected_row)
layout = QVBoxLayout()
layout.addWidget(self.tableWidget)
layout.addWidget(self.delete_button)
self.setLayout(layout)
def delete_selected_row(self):
selected_row = self.tableWidget.currentRow()
if selected_row != -1:
self.tableWidget.removeRow(selected_row)
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
在此示例中,我们创建了一个QTableWidget、一个QPushButton,并将它们放在一个垂直布局中。当用户点击删除按钮时,我们将调用delete_selected_row函数,该函数会获取当前选中的行号,并在选中行不为空时删除该行。