El Wednesday 16 March 2016, Alexander Görtz escribió:
> Yeah wanted to say the same here, the line to connect to a QSpinBox 
> valueChanged is really realy ugly. Mostly because of the ugly syntax of 
> pointers to member functions.

A helper function, qOverload, was added to mitigate this (in 5.7):

http://doc-snapshots.qt.io/qt5-5.7/qtglobal.html#qOverload

Anyway, you can make it decent enough if you organize a bit with an 
intermediate typedef:

using valueChangedSignal = void(QSpinBox::*)(int);
auto valueChangedPointer =
                static_cast<valueChangedSignal>(&QSpinBox::valueChanged);
connect(ui->cacheSize, valueChangedPointer,
                this, &SyncWidget::changeCacheLimits);
connect(ui->cacheAge, valueChangedPointer,
                this, &SyncWidget::changeCacheLimits);

If you really really need the overloads, and you use them in connections a 
lot, maybe you could even provide the typedef (and the pointer, if you don't 
think it's too much) in your own classes.

-- 
Alex (a.k.a. suy) | GPG ID 0x0B8B0BC2
http://barnacity.net/ | http://disperso.net
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to