[Qt-interest] connect()ing multiple buttons to a receiver
Alan Ezust
alan.ezust at gmail.com
Wed Jan 7 23:16:44 CET 2009
QButtonGroup does not require the buttons be in a box. That's QDialogButtonBox.
But once you add all the buttons in the group, you can connect one
signal to one slot, and the signal is overloaded so you can connect it
to a slot with an int or a QAbstractButton* as an argument, to
determine the sender of the button.
Then any time one button is clicked in the group, your slot is called
with an argument.
Of course, another option is the sender() method, which I didn't know
about until Alex M posted about it later in this thread.
On Tue, Jan 6, 2009 at 9:36 PM, Paul England <pengland at cmt-asia.com> wrote:
> Hi
>
> I know about QObject::sender(), but I still don't know of how to tell
> *which* button it points to at that point. I'll check out
> QSignalMapper. I recall using this a while back (vaguely).
>
> >> QButtonGroup
>
> Doesn't this require the buttons to be in a group? Like in a box?
> That's not going to work in this case, unfortunately.
>
> Cheers
> Paul
>
>
> Kaleb Pederson wrote:
>> On Tue, Jan 6, 2009 at 8:55 PM, Paul England <pengland at cmt-asia.com> wrote:
>>
>>> To put this simply:
>>>
>>> I will have a few buttons (4 or 5) that I want to connect() to a single
>>> receiver.
>>> The receiver will behave slightly differently depending on what button
>>> is pushed though (does the same thing on different data).
>>>
>>> The buttons are stored in an array, and are made in a loop. How many
>>> depends on an
>>> environment variable. I can connect() them to the receiver just fine,
>>> but as they are in
>>> an array, the receiver doesn't know which one was pushed.
>>>
>>
>> Take a look at QSignalMapper. I believe the example is almost exactly
>> what you're discussing above.
>>
>> Also, take a look at QObject::sender().
>>
>>
>>> From what I remember, reimplementing event handlers is a nono.
>>>
>>
>> Re-implementing event handlers is fine, under the appropriate
>> conditions. In this case, it's quite unnecessary.
>>
>> HTH,
>>
>> --Kaleb
>>
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
>
More information about the Qt-interest-old
mailing list