OH actually they can, turns out Qt connects the slots at runtime and doesn't care about the modifiers... However the two slots that are used as a callback from the javascript have to remain protected and not private, otherwise the compiler removes them during compilation...