Je suis un débutant Python et j'essaye d'écrire une application triviale avec un gestionnaire d'événement qui est activé quand un article dans un QTreeWidget personnalisé est cliqué. Pour une raison quelconque, cela ne fonctionne pas. Puisque je ne suis qu'au début de l'apprentissage, je n'arrive pas à comprendre ce que je fais de mal. Voici le code:PyQt: l'événement n'est pas déclenché, quel est le problème avec mon code?
#!/usr/bin/env python
import sys
from PyQt4.QtCore import SIGNAL
from PyQt4.QtGui import QApplication
from PyQt4.QtGui import QMainWindow
from PyQt4.QtGui import QTreeWidget
from PyQt4.QtGui import QTreeWidgetItem
class MyTreeItem(QTreeWidgetItem):
def __init__(self, s, parent = None):
super(MyTreeItem, self).__init__(parent, [s])
class MyTree(QTreeWidget):
def __init__(self, parent = None):
super(MyTree, self).__init__(parent)
self.setMinimumWidth(200)
self.setMinimumHeight(200)
for s in ['foo', 'bar']:
MyTreeItem(s, self)
self.connect(self, SIGNAL('itemClicked(QTreeWidgetItem*, column)'), self.onClick)
def onClick(self, item, column):
print item
class MainWindow(QMainWindow):
def __init__(self, parent = None):
super(MainWindow, self).__init__(parent)
self.tree = MyTree(self)
def main():
app = QApplication(sys.argv)
win = MainWindow()
win.show()
app.exec_()
if __name__ == '__main__':
main()
Mon objectif initial est de faire quelque chose d'impression MyTree.onClick() lorsque je clique sur un élément d'arbre (et avoir accès à l'élément cliqué dans ce gestionnaire).
Merci, ça a marché! Pour une raison quelconque, mon navigateur ne me permettra pas de marquer votre réponse comme acceptée, mais cela fonctionne. –