Поскольку события мыши защищены виртуальными функциями, самый простой подход - это именно то, что вы делаете. Я не вижу причин, по которым определение подкласса могло бы вызвать проблемы, поэтому я говорю, придерживайтесь того, что у вас есть.
Если вы действительно хотите связать события со слотами, вы можете сделать реализацию своего подкласса mousePressEvent()
, например, просто emit mousePressSignal()
. Конечно, вам также необходимо объявить mousePressSignal()
в разделе signals
заголовка подкласса.