2014-03-10 4 views
1

В настоящее время я загружаю результаты SQL-запроса в TableView.PyQt Получить ячейку из 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 (row, 'geometry'), однако модель ожидает целые числа.

Любые решения?

благодаря

ответ

1

Так что, кажется, все, что вам нужно, это способ, чтобы найти столбец из его метки заголовка, то есть что-то вроде:

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 

 Смежные вопросы

  • Нет связанных вопросов^_^