QTableWidget 获取选择的单元格
时间: 2024-08-31 10:01:07 浏览: 169
在PyQt5中,如果你想要获取`QTableWidget`选中的单元格,你可以使用`selectedRanges()`方法。这个方法返回一个包含所有当前选中范围的列表,每个范围是一个`QRect`对象,代表了从左上角到右下角的单元格位置。
下面是一个简单的示例:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget
from PyQt5.QtCore import QRect
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
# 创建表格
table = QTableWidget(self)
table.setSelectionBehavior(QAbstractItemView.SelectRows) # 设置选择行模式
# ... (设置表格内容等)
# 当用户选择单元格时触发此信号
table.selectionChanged.connect(self.cell_selected)
def cell_selected(self):
selected_ranges = self.table_widget.selectedRanges() # 获取选中的范围
for range in selected_ranges:
row = range.bottomRow() - range.topRow() + 1 # 行索引
column = range.rightColumn() - range.leftColumn() + 1 # 列索引
print(f"Selected cell: Row {row}, Column {column}")
# 实例化并显示窗口
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个例子中,`cell_selected`函数会在用户选择单元格时被调用,它会打印出选择的单元格所在的行和列。
阅读全文