On Thu, 16 Sep 2004 05:18:25 -0700, David Boddie <[EMAIL PROTECTED]> wrote: > On Wed, 15 Sep 2004 13:54:04, Timothy Grant wrote: > > > I have QListView that connects to a context menu (QPopupMenu) and > > passes the item(s) to my showPopup method. > > > > The QActions that populate the QpopupMenu then call their own > > processing methods. > > You might need to post some code that shows what you're doing. > > > My problem is that I don't know how to pass the QListViewItem(s) from > > my showPopup method further down the call chain so that say the > > editMethod knows which items need to be edited. > > > > I guess consisely put it is "How do I pass state data along the Event > > call chain?" > > With signals and slots you can find out which object emitted the signal > by calling self.sender() in the slot that receives it. You might be able > to record this somewhere visible to your editMethod, although you don't > say which object would have this method. > > If you post some fairly concise example code, we can probably work something > out. > > David
OK, here is some *seriously* cut down code that probably doesn't even work at the moment but which I hope illustrates the problem. There are two comments in the code showing what I'd like to accomplish class ContextPopupMenu(QPopupMenu): def __init__(self, *args): apply(QPopupMenu.__init__, (self,) + args) self.editAction = QAction(self) self.editAction.setText('Edit') self.editAction.setMenuText('&Edit') self.editAction.setStatusTip('Edit Stuff') self.editAction.addTo(self) def showMenu(self, item, pos): #item is very useful here self.exec_loop(pos) class VagabondWindow(QMainWindow): def __init__(self, library, *args): apply(QMainWindow.__init__, (self,) + args) self.context_menu = ContextPopupMenu() self.list = DetailList(self) self.connect(self.list, SIGNAL('contextMenuRequested(QListViewItem *, const QPoint &, int)'), self.context_menu.showMenu) self.connect(self.context_menu.editAction, SIGNAL('activated()'), self.edit) def edit(self): print "editing" #how do I get item down here? _______________________________________________ PyKDE mailing list [EMAIL PROTECTED] http://mats.imk.fraunhofer.de/mailman/listinfo/pykde