QT自带的一个例子analogclock,通过定时器消息来更新模拟时钟图形的绘制。本想通过这个例子快速入门QT图形框架的使用。然鹅,信号和槽的连接函数就直接没看懂。
QOverload<>::of(&AnalogClock::update)看不懂,update应该是个槽函数,前面QOverload<>应该是个类模板类,具体的作用是啥。直接用&AnalogClock::update做连接不行吗?
connect(timer, &QTimer::timeout, this, QOverload<>::of(&AnalogClock::update));
进一步跟QOverload<>::of()进去后更加晕了,这还是C++吗。
template <typename... Args>
struct QOverload : QConstOverload<Args...>, QNonConstOverload<Args...>
{
using QConstOverload<Args...>::of;
using QConstOverload<Args...>::operator();
using QNonConstOverload<Args...>::of;
using QNonConstOverload<Args...>::operator();
template <typename R>
constexpr auto operator()(R (*ptr)(Args...)) const noexcept -> decltype(ptr)
{ return ptr; }
template <typen