2015-02-19 5 views
16

Ich versuche Touch-Ereignisse in Linux mit Qt zu programmieren. Mein Touchscreen funktioniert, aber wenn ich den Bildschirm berühre, bekomme ich eher Mausereignisse als Berührungsereignisse. Der Mauszeiger bewegt sich dorthin, wo ich den Bildschirm berühre. Ich weiß nicht, ob es ein Qt-Problem oder etwas ist, das auf Betriebssystemebene passiert.Touch-Ereignisse in Linux mit Qt

Ich benutze Qt 5.4.0 auf Debian Jessie.

+0

Dies ist ein häufiges Problem, dass Touchscreen Mausereignisse statt Touch-Ereignisse generiert und es ist auch problematisch für mich, also habe ich Bounty gestartet. Ich benutze "Finger Paint" von Qt offiziellen Beispielen: http://doc.qt.io/qt-4.8/qt-touch-fingerpaint-example.html – jaskmar

+0

Inzwischen kann ich mich kaum erinnern, warum ich die Frage in der ersten gestellt habe Ort, aber trotzdem danke :) –

+0

Vielleicht 'QCoreApplication :: setAttribute (Qt :: AA_SynthesizeMouseForUnhandledTouchEvents, false);'? – dtech

Antwort

3

Da Sie keinen Quellcode freigegeben haben, ist es schwer zu wissen, was auf Ihrer Seite passiert. Werfen Sie einen Blick auf diese Dokumentation:

Alle, die Beispiele gut funktioniert, und Sie müssen testen Sie es auf Ihrer Seite. Wenn es für Sie nicht funktioniert, bedeutet das, dass es einige Probleme auf Ihrer Seite gibt, andernfalls haben Sie etwas in Ihrer Anwendung vergessen (wie Qt::WA_AcceptTouchEvents Attributattribut oder nicht true das acceptTouchEvents Attribut bei Grafikelementen ...).

+0

@troyance, ich habe dieses Attribut gesetzt. Ich habe bemerkt, dass es funktioniert, wenn ich in GNOME arbeite (ich habe vorher in KDE gearbeitet), also könnte es ein Problem mit KDE sein, das nichts mit Qt zu tun hat. –