а зачем намеренно делать тип QObject и кастить к виджету, когда сразу можно принимать только виджет?