N8 (및 C7)을 대상으로하는 프로그램에 대한 터치 입력을 얻으려고하고 있으며 유지를위한 QList를 만들 수 없습니다 터치 포인트는 QTouchEvent :: touchPoints()를 사용합니다. 이 프로그램은 다음 줄에 충돌 : 이제Q 터치 포인트가 생성되지 않은 경우 "데이터 중단 예외가 발생했습니다"
bool GLWindow::event(QEvent *event)
{
switch (event->type()) {
case QEvent::TouchBegin: {
QList<QTouchEvent::TouchPoint> touchBeginPoints =
static_cast<QTouchEvent *>(event)->touchPoints();
foreach (const QTouchEvent::TouchPoint &touchBeginPoint, touchBeginPoints)
{
float touchBeginX = touchBeginPoint.pos().x();
float touchBeginY = touchBeginPoint.pos().y();
qDebug() << "touchBeginPoint := " << touchBeginX << ", " << touchBeginY;
}
break;
}
case QEvent::TouchUpdate: {
// same as touch begin: getting touch point
break;
}
case QEvent::TouchEnd: {
// same as touch begin: getting touch point
break;
}
default: {
qDebug() << "Goodbye";
return true;
}
}
return true;
}
, 내가 전에 용기와 함께 일한 적이있다
- :
Thread has crashed: A data abort exception has occurred accessing 0xee
오버로드 된 이벤트 기능은 같다. 그러나 프로그램의 다른 부분에서 QList를 만들고 사용하는 것이 좋습니다. .pro 파일에 뭔가를 포함시켜야합니까? (대부분의 문제가 이것과 관련하여 결국 나와 관련이있는 것 같습니다.)
- Qt와 Symbian에서 예외에 대해 읽었지만 그 대부분을 얻을 수는 없습니다. 그러나 3D 객체에 대한 텍스처를 제외하고 네트워킹이나 리소스 기반의 I/O 또는 조작을 수행하지 않습니다. 프로그램을 실행하는 동안 메모리 할당이 문제를 일으킬 수 있습니까?
기본적으로 나는 터치 포인트를 인쇄하려고합니다. 그러나 QList를 만들 수없는 이유는 단서가 없습니다. 코드가 잘 컴파일됩니다. 최선을 다했지만 (실패한) 터치 포인트 (QList를 필요로하지 않는 화면 좌표)의 화면 좌표를 가져 오는 다른 방법이 있습니까? 모든 의견을 환영합니다.
qt-project.org에서
직설적인데, static_cast <>를 qobject_cast <>로 바꾸면 어떻게됩니까? – teukkam
@teukkam 이벤트는 객체가 아닙니다. 어쩌면 dynamic_cast <> ... – UmNyobe
@teukkam 'qobject_cast (QEvent * &)'를 호출 할 때 일치하는 함수가 없습니다. 나 또한 dynamic_cast <> 시도, 같은 결과를 제공합니다. 감사. –