При реализации пользовательского набора я посмотрел на QDial и заметил два условия в обработчиках mousePress / mouseRelease , которые я не понимаю, а именно:
e->buttons() ^ e->button() //mousePress
e->buttons() & (~e->button()) //mouseRelease
Мне кажется, что поле кнопок обозначено кнопкой (скрыто во втором условии, но тот же эффект), что должно быть истинно, если в событии участвует другая кнопка.Я не понимаю, почему отпускание кнопки следует игнорировать, если две кнопки отпускаются одновременно.От чего защищают эти условия?