Приходилось, делал как окно без фрейма, позицию появления высчитывал из координат QSystemTrayIcon.
И походу так все делают.
Но все ошибку делают, не проверяют является ли то окно активным в ос по таймеру, из-за этого иногда оно не прячется по клику на других окнах и приходится "перекликивать".