python的pyqt用户在tableview上修改数据后如何获取修改?
时间: 2024-03-26 20:39:52 浏览: 209
auto& stu : students) {
if (stu.score == score) {
res.push_back(stu);
}
}
在PyQt中,可以通过以下步骤获取用户在TableView上修改的数据:
1. 建立一个数据模型,如QStandardItemModel。
2. 将数据模型设置为TableView的模型,使用setModel()方法。
3. 为每一 return res;
}
private:
vector<Student> students; // 学生信息列表
};
int main() {
StudentManager sm列设置一个信号-槽连接,以便在用户编辑单元格时触发槽函数。
4. 在槽函数中;
// 添加学生信息
Student s1 = {"计算机学院", "计算机科学与技术,使用data()方法获取用户编辑后的数据。
下面是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QStandardItemModel
from PyQt5.QtCore import Qt
app = QApplication([])
model = QStandardItemModel", "2019级1班", "20190101", "张三",
"男", 175.0f, "篮(4, 2)
model.setHorizontalHeaderLabels(['Name', 'Age'])
view = QTableView()
view.setModel(model)
# 设置信号球", "本科生", 5000.0f, 90.0f};
sm.addStudent(s1);
Student-槽连接
view.clicked.connect(lambda index: print(model.data(index, Qt.DisplayRole)))
# 设置数据
model.setData(model.index(0 s2 = {"计算机学院", "计算机科学与技术", "2019级2班", "201, 0), 'Alice')
model.setData(model.index(0, 1), '25')
model.setData(model.index(1, 0), 'Bob')
model.setData(model.index(1, 1), '30')
view.show()
app.exec_()
```
在这个示90102", "李四",
"女", 165.0f, "足球", "本科生", 6000例中,我们创建了一个4行2列的数据模型,并将其设置为TableView的模型。我们设置了一个.0f, 85.0f};
sm.addStudent(s2);
// 按照不同条件查询学生信息
信号-槽连接,当用户在TableView上单击单元格时,将触发一个槽函数并打印出该 vector<Student> res1 = sm.queryByCollege("计算机学院");
for (auto& s : res1) {
单元格的数据。最后,我们设置了一些示例数据并显示TableView。
当用户在TableView上编辑单元 cout << s.name << " " << s.major << " " << s.clazz << endl;
}
vector<Student> res2格时,槽函数将被触发,并使用data()方法获取用户编辑后的数据。你可以修改槽函数来执行任 = sm.queryByHobby("篮球");
for (auto& s : res2) {
cout << s.name << " "何你需要的操作,例如将数据保存到数据库中。
阅读全文