Important: Please read the Qt Code of Conduct -

Qt Stealing Tablet events

  • Hello, I am having a problem with running Qt under an embedded python interpreter in another application. The problem is basically that as soon as a QDialog (or other gui item) has been shown, the wacom tablet ceases to send preassure sensitivity events to the host application. These are totally stolen by Qt. This is a bit of a problem as I dont actually want Qt to use the preassure sensitivity, I want this to be used by the host application.

    I came across This bug report that seems to be the problem I am having.

    After having a look, the hidden "qt_tablet_widget" is removed from the allWidgets list so I am unable to get and destroy this widget at runtime. I was hoping this would be a possible solution. I am recompiling Qt and PyQt with some bits of qwidget_win.cpp edited so hopefully I will get this widget in QApplication.allWidgets() and be able to destroy it. This may not be a good idea, as its no doubt hidden for a reason. This also ties me to a custom compile of Qt, which is a problem. I was hoping someone might have a suggestion as to any other ways to get around this problem. Currently I am having to destroy all widgets and the Qapplication when any gui element closes to get the sensitivity back. This of course means I cant extend the functionality of the host application with any kind of windows that would be open when you would be using the tablet - a big problem!

    any ideas would be welcomed.


  • Just to follow this up. Recompiling the whole of Qt with QT_NO_TABLETEVENT has fixed the problem. A bit of a shame that a custom compile of Qt is required for this.

Log in to reply