Я пытаюсь создать всплывающее меню, такое как элемент управления, который содержит пользовательские виджеты. Мне нужно захватить мышь, но мне нужно, чтобы дети в виджетах все еще получали сообщения мыши. Похоже, что grabMouse
отправляет события только виджету, который схватил мышь, а не ее дочерние элементы.Qt popup grabMouse для всех детей
Всплывающее окно - это просто серия кнопок (с использованием QGridLayout). Элемент управления должен работать, когда пользователь нажимает кнопку мыши правой кнопкой мыши, появляется всплывающее окно, они перемещаются к элементу и отпускают кнопку мыши. Оптимально он работал бы точно так же, как всплывающее окно QMenu, но с пользовательскими виджетами и настраиваемым макетом.
Как я могу это достичь?
Это, конечно, не полный ответ, так как ни один из стандартных элементов управления, таких как AbstractButon, не работает по назначению. Поскольку они не инициировали mouseDown, они не будут нажимать кнопки. –