Use Q_D instead of d_func