Я использую QDialog
с включенной прозрачностью, чтобы выбрать область экрана для инструмента захвата экрана. Когда пользователь щелкает внутри прозрачного виджета, я хочу игнорировать событие мыши, чтобы система обрабатывала его. Это возможно?
Я пытаюсь добиться этого в Linux.
Некоторые вещи, которые я пробовал безуспешно:
QtWidgets.QWidget.setWindowFlags(QtCore.Qt.WindowTransparentForInput)
QtWidgets.QWidget.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents)
QtWidgets.QWidget.setMask(QtGui.QRegion(self.geometry()))
- Создание подкласса
mousePressEvent
и игнорирование события
w.setWindowFlags(w.windowFlags() | QtCore.Qt.WindowTransparentForInput| QtCore.Qt.X11BypassWindowManagerHint)
- person eyllanesc   schedule 16.10.2018