[Interest] Problem about signals/slots in Qt 5

Sean Harmer sh at theharmers.co.uk
Tue Sep 18 14:47:57 CEST 2012


On Tuesday 18 September 2012 08:21:58 Stephen Chu wrote:
> On 9/18/12 4:10 AM, Thiago Macieira wrote:
> >> How could I solve this?
> >> 
> >> In Qt 4 I could specialize the signal using SIGNAL(valueChanged(int)),
> >> how
> >> could I do in Qt 5?
> >> 
> >      void (QSpinBox:: *signal)(int) = &QSpinBox::valueChanged;
> >      QObject::connect(spinBox, signal, slider, &QSlider::setValue);
> 
> or:
> 
> QObject::connect(spinBox, (void (QSpinBox:: *)(int))
> &QSpinBox::valueChanged, slider, &QSlider::setValue);
> 
> if you want to keep it in one line.
> 
> I like this new syntax much better since it finds signal/slot mismatches
> at compile time. I used to miss the connection mismatch messages in the
> sea of my REALLY chatty logs. And pulling my hairs wondering why
> something doesn't work. :)

Run your application with the environment variable QT_FATAL_WARNINGS defined. 
Then the application will break when a connect fails or anything else prints 
out a qWarning().

Cheers,

Sean


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.




More information about the Interest mailing list