PyQt 获取带标题标签的 TableView 单元格
我现在把SQL查询的结果加载到一个表格视图(TableView)里。
self.projectModel = QSqlQueryModel()
self.projectModel.setQuery(sql,db)
接下来,我需要根据表头的标签(几何形状)来选择特定的单元格。这个列的位置会根据不同的表格而变化。
当用户点击行的任何地方(不是几何形状那一列的单元格)时,我想要选中几何形状那一列的单元格。
目前我有一个和表格视图相关的代码
self.dlg.tableView.clicked.connect(self.cellClicked)
在那个函数里,我有
row = self.projectModel.currentIndex()
如果我使用QTableView.model(row, column)来选择索引,我就得指定行和列的数字。不过,这个数字会变化,所以我想用QTableView.model(row, 'geometry'),但模型需要的是整数。
有没有什么解决办法?
谢谢
1 个回答
3
看起来你只需要一个方法来根据列的标题找到对应的列,也就是说,类似于下面这样的东西:
def columnFromLabel(self, label):
model = self.table.horizontalHeader().model()
for column in range(model.columnCount()):
if model.headerData(column, QtCore.Qt.Horizontal) == label:
return column
return -1