Qt Creator'da bir form oluşturdum ve forma üç özel QWidgets (tümü Renderer olarak adlandırılan aynı sınıf) ekledim. Bir kullanıcı Alt tuşuna bastığında haberdar olmak için formun yanı sıra üç widget'ı da istiyorum, ancak şu anda çalışmak için bir tane bile alamıyorum.Qt 4.6 ve OpenGL: aynı anda üç farklı widget ile klavye preslerini nasıl çekebilirsiniz?
void keyPressEvent (QKeyEvent *) ve void keyReleaseEvent (QKeyEvent *) öğesini Renderer sınıfına ekledim, ancak işlevler hiç çağrılmadı ... (kesme noktaları tetiklenmedi) Tuşa basma işlevleri korunur.
void Renderer::keyPressEvent(QKeyEvent *event) {
switch(event->key()) {
case Qt::Key_Alt: {
isAltPressed = true;
cout << "alt got pressed" << endl;
break;
}
default:
break;
}
}
void Renderer::keyReleaseEvent(QKeyEvent *event) {
switch(event->key()) {
case Qt::Key_Alt: {
isAltPressed = false;
cout << "alt released" << endl;
break;
}
default:
break;
}
}
Burada bir şey mi eksik?
Ayrıca, üç aletin aynı anda kaydettiği klavye preslerine sahip olmak için yapmam gereken özel bir şey var mı?
Çok teşekkürler.
Yanıtlandı. Sorunun ikinci kısmı için problemi, özel bir üye değişkeni yerine bir sınıf değişkeni olan isAltPressed yaparak çözdüm. – confusedKid