GuineaPig wrote:
I'm working with pyQt and I have a widget with 40 QPushButtons (toggles). On 'toggled()' the buttons emit a signal to a function. In this function I'd like to find out wich button was pressed. I'm thinking about iterating through all the buttons to check theirs state but I can't seem to find how to do this in the docs. Can someone point me in the right direction ? Should I handle this differently ?

You might want to try QSignalMapper: http://doc.trolltech.com/3.2/qsignalmapper.html


Code looks something like this (untested):

def initGUI(self):
    sigmap = QSignalMapper(self)

pushButton1 = QPushButton("Button 1", self)
self.connect(pushButton1, SIGNAL("toggled(bool)"), sigmap, SLOT("map()")
sigmap.setMapping(pushButton1, 1)


pushButton2 = QPushButton("Button 2", self)
self.connect(pushButton2, SIGNAL("toggled(bool)"), sigmap, SLOT("map()")
sigmap.setMapping(pushButton2, 2)


self.connect(sigmap, SIGNAL("mapped(int)"), self.buttonPushed)

def buttonPushed(self, index):
    print "Button #%d pushed" % index

Unfortunately, it does look like the toggled signal's "bool on" parameter can't be carried through but since you'll know which QPushButton it is, you can easily check it's state.

Ciao,
Gordon


_______________________________________________ PyKDE mailing list [EMAIL PROTECTED] http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

Reply via email to