0
터치 스크린을 감지하지 못하도록 Qt 응용 프로그램을 구성하여 정상적인 화면의 동작을 유지할 수 있습니까?Qt 터치 스크린 감지 비활성화
터치 스크린을 감지하지 못하도록 Qt 응용 프로그램을 구성하여 정상적인 화면의 동작을 유지할 수 있습니까?Qt 터치 스크린 감지 비활성화
에 따라 다릅니다. 그런 다음
#include <QObject>
#include <QTouchEvent> // to get rid of "error: invalid use of incomplete type 'class QEvent'"
class QTouchEventFilter: public QObject
{
Q_OBJECT
public:
QTouchEventFilter(QObject *parent = 0) : QObject(parent)
{
}
protected:
bool eventFilter(QObject * p_obj, QEvent * p_event)
{
if (p_event->type() == QEvent::TouchBegin ||
p_event->type() == QEvent::TouchUpdate ||
p_event->type() == QEvent::TouchEnd ||
p_event->type() == QEvent::TouchCancel)
{
p_event->ignore();
return true;
}
return false;
}
};
을 당신이 터치 이벤트 무시하려는 위젯에 설치 : 운영 체제가 터치 이벤트와 마우스 프레스를 구별하는 경우, 당신은과 같이 이벤트를 무시하도록 touchEvent 필터를 만들 수
myWidget->installEventFilter(new QTouchEventFilter);
을
그러나 내 본능은 대부분의 OS에서 '마우스를 누르는 이벤트'라고하는 '터치'가 모든 것을 포기할 의향이없는 한 필터링 할 수 없다는 것입니다 해당 위젯에 대한 마우스 입력. 기꺼이하시는 분이라면 같은 개념을 사용 하시되 한번 QEvent를 마우스와 관련된 것으로 바꾸십시오.
차이점이나 변경하고자하는 실제 동작을 설명해 주시겠습니까? 그리고 하드웨어 (장치 유형 및 디스플레이 및 OS)는 무엇입니까? 일반적으로 응용 프로그램이 터치 스크린을 감지하지 못하기 때문에 ... OS가 제공하는 정보를 가져옵니다. – hyde
왜 그랬습니까? 당신의 유스 케이스는 무엇입니까? – lpapp