Ну т.е. совместить наследование реализации и её приватность?
Смущает, что макросы Q_D подразумевают только класс вида ClassPrivate. Т.е. либо добавить ещё один макрос, в котором будет возможность прописывать имя класса реализации. В этом случае можно иметь реализацию под разными именами. Либо тогда ifdef'ами включать только нужную реализацию под тем же именем.
Какие ещё есть мысли на этот счёт?