Boost logo

Boost Users :

Subject: Re: [Boost-users] HOWTO: Connect Boost Signals & Slots to Qt Signals & Slots
From: Jeff Flinn (Jeffrey.Flinn_at_[hidden])
Date: 2013-04-23 12:49:19


Hi John,

Please don't top post. I'm rearranging to make this more readable.

On 4/23/2013 11:55 AM, John Adamson wrote:
> Hi Jeff,
>>
>> On 23 April 2013 17:48, Jeff Flinn <Jeffrey.Flinn_at_[hidden]
>> <mailto:Jeffrey.Flinn_at_[hidden]>> wrote:
>>> On 4/22/2013 4:27 AM, John Adamson wrote:
>>>
>>> Hello everyone,
>>>
>>> Please find the first in a series of articles here:
>>>
>>> http://www.oxforddynamics.com/__articles/connect_qt_and_boost___signals_and_slots.html
>>> <http://www.oxforddynamics.com/articles/connect_qt_and_boost_signals_and_slots.html>
>>>
>>> I hope it will be of use!
>>>
>>> Moderators: is this type of post is acceptable or not? Please
>>> let me
>>> know if it isn't and I won't post Boost related HOWTOs here again.
>>
>> I haven't compiled the examples, but in my Qt4.8.4 implementation at
>> 52 of qobjectdefs.h I see:
>>
>> #define Q_EMIT
>>
>> So what effect does it have in the below code?
>>
>> lib_ptr_->signal_1.connect( boost::bind( &Ui::Q_EMIT slot1
>> , this
>> )
>> );
>>
>
> I wouldn't recommend that! Q_EMIT is the alternative macro for the

Recommend what? I'm just asking a question about what effect Q_EMIT has
on getting the above line of code to compile given that in Qt4.8.4 (if
not all versions) Q_EMIT /emit is defined to nothing? My understanding
is that these keywords are just used to 'document' for the human reader
that a signal/slot is being called.

> 'emit' keyword. You need to define QT_NO_KEYWORDS to work with
> Boost.Signals, but that prevents the use of the 'emit' keyword.

We never use those poorly chosen lower case macro names and always
define QT_NO_KEYWORDS as a matter of best practices.

Jeff


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net