simplify the public api
fix vc and Qt5 compile error

'QFunctionPointer {aka void (*)()}' to 'void*' [-fpermissive]