PyQt从带有标题标签的TableView获取单元格

时间:2014-03-10 17:18:22

标签: python pyqt qtableview qheaderview

我目前将SQL查询的结果加载到TableView中。

self.projectModel = QSqlQueryModel()
self.projectModel.setQuery(sql,db)

然后,我需要根据标题标签(几何)选择特定的单元格。此列将根据搜索的不同表移动位置。

当用户点击行上的任何位置(而不是几何列的单元格)时,我想选择几何列单元格。

目前我有一个与tableView相关联的

self.dlg.tableView.clicked.connect(self.cellClicked)

在那个功能中我有

row = self.projectModel.currentIndex()

如果我使用QTableView.model(行,列)来选择索引,我必须指定行号和列号。但是,这会有所不同所以我想要做QTableView.model(行,'几何'),但模型需要整数。

任何解决方案?

感谢

1 个答案:

答案 0 :(得分:2)

因此,您似乎只需要一种从其标题标签中查找列的方法,例如:

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