Как я могу получить данные из QTableView? - PullRequest
0 голосов
/ 15 марта 2012

У меня есть QTableView виджет с поведением QtGui.QTableView.SelectRows.

  1. Как я могу получить текущую выбранную строку?
  2. Могу ли я получить из этой строки определенный столбец, а не только идентификатор строки?

Спасибо.

1 Ответ

1 голос
/ 15 марта 2012

QTableView наследует сигналы от QAbstractItemView.Чтобы получить текущую выбранную строку, вы должны подключить свои слоты к одному из

 void activated ( const QModelIndex & index )
 void clicked ( const QModelIndex & index )
 void pressed ( const QModelIndex& index )

EDIT1: В QModelIndex есть методы row() и column(), чтобы точно знать, какая ячейка была нажата /selected.

 self.table.clicked.connect(self.clickedSlot)
 def clickedSlot(self,index):
      print "Column is " + str(index.column())
      print "Row is " + str(index.row())

Если вы новичок в Qt / PyQt, вы можете посмотреть, как использовать сигналы и слоты.

EDIT2: Если вы хотитеполучить индексы от самого виджета

self.table.selectionModel.currentIndex()
...