pyqt5表格存放数据
时间: 2025-02-15 09:10:33 浏览: 45
### 使用 PyQt5 的 `QTableWidget` 存储和显示数据
在 PyQt5 中,`QTableWidget` 是用于创建表格视图的小部件之一[^1]。此组件允许用户查看、编辑以及操作表格中的项目。
#### 创建 QTableWidget 并设置其属性
为了初始化一个 `QTableWidget` 实例,可以指定行数和列数作为参数传递给构造函数:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.table_widget = QTableWidget(4, 3) # 设置初始行列数量
# 添加表头标签
headers = ["ID", "Name", "Age"]
self.table_widget.setHorizontalHeaderLabels(headers)
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
上述代码片段展示了如何定义具有三列(分别为 ID、姓名和年龄)及四行记录的简单表格界面。
#### 向单元格内插入数据项
通过调用 `setItem()` 方法可向特定位置填充值;该方法接收三个参数——行索引、列索引以及要插入的数据对象实例 (`QTableWidgetItem`) :
```python
def populate_table(self):
items = [
("1", "Alice", "23"),
("2", "Bob", "30"),
("3", "Charlie", "27"),
("4", "David", "29")
]
for row_index, (id_, name, age) in enumerate(items):
id_item = QTableWidgetItem(id_)
name_item = QTableWidgetItem(name)
age_item = QTableWidgetItem(age)
self.table_widget.setItem(row_index, 0, id_item)
self.table_widget.setItem(row_index, 1, name_item)
self.table_widget.setItem(row_index, 2, age_item)
```
这段脚本实现了将预设好的几条个人信息填充到之前建立起来的空白表格里去的功能。
#### 获取选定单元格的内容
当需要读取当前选中单元格的信息时,可以通过下面的方式实现:
```python
selected_items = self.table_widget.selectedItems()
if selected_items:
first_selected_cell_value = selected_items[0].text() # 取得第一个被选中的单元格文本内容
else:
print("No item is selected.")
```
以上就是关于怎样利用 Python 和 PyQt5 库里的 `QTableWidget` 来完成基本的数据存取与展示功能介绍。
阅读全文
相关推荐


















