2017-07-18 72 views
-2

在表格視圖模型中,當您單擊單元格時,您知道關於單元格行和列的哪些方法?
PyQt QTableView點擊後,如何知道行和列

版本:
PyQt : 4.11.4
​​

這是我的表視圖,模型的設定。

def __init__(self, parent=None): 
     QtGui.QWidget.__init__(self, parent) 
     self.ntableView = QtGui.QTableView() 
     self.nlayout = QtGui.QVBoxLayout() 
     self.nmodel = QtGui.QStandardItemModel() 
     self.ntableView.setModel(self.nmodel) 
     self.nlayout.addWidget(self.ntableView) 
     self.setLayout(self.nlayout) 
     self.func_mappingSignal() 

def func_mappingSignal(self): 
     self.ntableView.clicked.connect(self.func_test) 

def func_test(self, item): 
     # http://www.python-forum.org/viewtopic.php?f=11&t=16817 
     cellContent = item.data() 
     print(cellContent) # test 
     sf = "You clicked on {}".format(cellContent) 
     print(sf) 

回答

1

如果你想獲得單擊的單元格的座標,您可以使用clicked信號處理函數的參數,就像你可以把它叫做item(這是QModelIndex在這種情況下)

def func_test(self, item): 

,並得到item.column(), item.row()值。

sf = "You clicked on {0}x{1}".format(item.column(), item.row()) 
相關問題