может в конструкторе копирования сначала позвать обычный конструктор, а потом копировать из аргумента "что можно". Если ли др возможности?
Обычный конструктор QObject (ну или другого родителя) я так понимаю? Ну хотя если у вас C++11, то можно и делегирующий конструктор использовать.
А так да, кроме копирования полей вручную тут особо ничего не сделаешь.
Ну разве что класс реализует implicitly share (через QSharedDataPointer и QSharedData, например), тогда копирование будет проще, но всё остальное сложнее.
По сути это будет обёртка для умного указателя.