2016-10-28 48 views
0

我們如何訪問QtableView中的元素? 該行self.tableView.item(1,1)不是sem工作? 它給出錯誤AttributeError: 'QTableView' object has no attribute 'item'訪問QTableView中的特定元素/項目?

我們如何訪問QTableView中的特定元素說(3,4)?您使用的是QStandardItemModelQTableView

+0

據我所知在QTableView中沒有項目屬性。根據[文檔](http://pyqt.sourceforge.net/Docs/PyQt4/qtableview.html),你只能說self.tableView.rowAt(3).columnAt(1) – mutantkeyboard

+1

@mutantkeyboard self.tableView.rowAt( 3).columnAt(1)不起作用。 AttributeError:'int'對象沒有任何屬性'ColumnAt' – learncode

+0

我沒有看到整個代碼,你試圖選擇什麼?如果你需要一個視覺選擇,你可以做一些像'self.tableView.setSelectionBehavior(QAbstractItemView.SelectRows)'。它將選擇您單擊的行。如果您定位特定單元格,請使用'QModelIndex indexAt'方法 – mutantkeyboard

回答

1

我,你可以這樣做:

model = self.tableView.model() 
item = model.item(1, 1) 

編輯

如果你想項的文字,你可以這樣做:

text = item.text() 

有關項目的其他屬性,請參見QStandardItem參考。

+1

self.model.item(1,1)返回項目的位置( )而不是項目的值?它有點不同嗎?我正在使用PyQt4,如果有幫助的話! – learncode

+1

@VenkataNarsiReddyVaddula。是的,它會返回項目 - 這就是您要求的。如果你想要項目的文本,你所需要做的就是'text = item.text()'。 – ekhumoro

+1

我很抱歉,我沒有故意這麼做。 – learncode