[Interest] Problem about signals/slots in Qt 5
thiago.macieira at intel.com
Tue Sep 18 10:10:35 CEST 2012
On terça-feira, 4 de setembro de 2012 04.59.19, 程梁 wrote:
> Hi, there! I try to connect signals and slot in Qt 5 using new syntax. But I
> have a question: how to connect overloaded signals to special slots?
You need to load it to a variable first to resolve the overload.
> For example, I have the following code:
> QSpinBox *spinBox = new QSpinBox(&window);
> QSlider *slider = new QSlider(Qt::Horizontal, &window);
> QObject::connect(slider, &QSlider::valueChanged, spinBox,
> slider, &QSlider::setValue);
> valueChanged() in QSpinBox is an overloaded signal. When I use qmake 2.01a
> to compile it, the error shows:
Note: qmake doesn't compile. GCC compiles.
> no matching function for call to 'QObject::connect(QSpinBox*&,
> <unresolved overloaded function type>, QSlider*&, void
> 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);
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Intel Sweden AB - Registration Number: 556189-6027
Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 190 bytes
Desc: This is a digitally signed message part.
More information about the Interest