在表格视图、模型中,当你点击单元格时,你知道单元格行列的方法是什么?
版本:
PyQt : 4.11.4
Python : 3.5.3
这些是我对表视图、模型的设置。
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)
Run Code Online (Sandbox Code Playgroud)
小智 7
如果你想获得点击单元格的坐标,你可以使用clicked信号处理程序的参数,就像你调用它一样item(QModelIndex在这种情况下)
def func_test(self, item):
Run Code Online (Sandbox Code Playgroud)
并获得item.column(), item.row()价值。
喜欢
sf = "You clicked on {0}x{1}".format(item.column(), item.row())
Run Code Online (Sandbox Code Playgroud)