Have you looked at QActionGroup - I think you make a group of QActions mutually exclusive.

Pete