I think the enum should have proper values (i.e. powers of 2 - 1, 2, 4, 8, etc.) so that flags don't interfere with each other. You might also want Q_DECLARE_OPERATORS_FOR_FLAGS if something doesn't compile.