Python QTreeView/QStandardItemModel中的选定行
我正在尝试使用QTreeView和QStandardItemModel在PyQt4中实现一个帐户结构(带有子帐户)。经过多次尝试和错误,我终于准备好了树状视图。现在,我希望在树视图中单击特定行时发生一些事情。我在GTK工具包中的经验表明,我会在单击某一行时听到某种发出的信号,然后编写一个信号处理程序来找出单击了哪一行。我不知道如何在PyQt中执行此操作。有什么建议吗?课堂上有信号&可供使用。此信号功能由继承 来自该信号的数据是类,因此该类可以获取您的模型数据 榜样Python QTreeView/QStandardItemModel中的选定行,python,pyqt4,Python,Pyqt4,我正在尝试使用QTreeView和QStandardItemModel在PyQt4中实现一个帐户结构(带有子帐户)。经过多次尝试和错误,我终于准备好了树状视图。现在,我希望在树视图中单击特定行时发生一些事情。我在GTK工具包中的经验表明,我会在单击某一行时听到某种发出的信号,然后编写一个信号处理程序来找出单击了哪一行。我不知道如何在PyQt中执行此操作。有什么建议吗?课堂上有信号&可供使用。此信号功能由继承 来自该信号的数据是类,因此该类可以获取您的模型数据 榜样 import sys from
import sys
from PyQt4 import QtGui
class QCustomTreeView (QtGui.QTreeView):
def __init__ (self, parentQWidget = None):
super(QCustomTreeView, self).__init__(parentQWidget)
self.pressed.connect(self.myPressedEvent)
def myPressedEvent (self, currentQModelIndex):
# Use QModelIndex to show current data pressed
print currentQModelIndex.column(), currentQModelIndex.row()
print currentQModelIndex.data().toString()
# Also can implement your QStandardItemModel here
currentQStandardItemModel = currentQModelIndex.model()
myQApplication = QtGui.QApplication([])
myQTreeView = QCustomTreeView()
headerQStandardItemModel = QtGui.QStandardItemModel()
headerQStandardItemModel.setHorizontalHeaderLabels([''] * 4)
myQTreeView.setModel(headerQStandardItemModel)
# Append data row 1
row1QStandardItem = QtGui.QStandardItem('ROW 1')
row1QStandardItem.appendRow([QtGui.QStandardItem(''), QtGui.QStandardItem('1'), QtGui.QStandardItem('3'), QtGui.QStandardItem('5')])
headerQStandardItemModel.appendRow(row1QStandardItem)
# Append data row 2
row2QStandardItem = QtGui.QStandardItem('ROW 2')
row2QStandardItem.appendRow([QtGui.QStandardItem(''), QtGui.QStandardItem('2'), QtGui.QStandardItem('4'), QtGui.QStandardItem('6')])
headerQStandardItemModel.appendRow(row2QStandardItem)
myQTreeView.show()
sys.exit(myQApplication.exec_())
请向我们展示您目前拥有的代码。