Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2016
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.07 KB | None | 0 0
  1. from PySide import QtGui
  2. from PySide import QtCore
  3.  
  4. class MyClass(QtGui.QStandardItem):
  5.     def __init__(self):
  6.         super(MyClass, self).__init__()
  7.  
  8. class SomeWidget(QtGui.QWidget):
  9.     def __init__(self, parent=None):
  10.         super(SomeWidget, self).__init__(parent)
  11.         self.setLayout(QtGui.QVBoxLayout())
  12.         self.menu = QtGui.QMenu()
  13.         self.layout().addWidget(self.menu)
  14.         a = QtGui.QAction('sender test default object', self.menu)
  15.         a.setData('test')
  16.         a.triggered.connect(self.printSender) # this sends the default object (string) as data
  17.         self.menu.addAction(a)
  18.  
  19.         a = QtGui.QAction('sender test custom object', self.menu)
  20.         myClassInstance = MyClass()
  21.         a.setData(myClassInstance)
  22.         self.menu.addAction(a)
  23.         a.triggered.connect(self.printSender) # this does not send the custom object as data in PySide 1.2.1 and later
  24.  
  25.     def printSender(self):
  26.         sender = self.sender()
  27.         print 'sender is:', sender
  28.         print 'sender data is:', sender.data()
  29.  
  30. w = SomeWidget()
  31. w.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement