مشكلة مع keypressevent على تطبيق Nokia N97 QT
سؤال
أنا عالق في منتصف هذه المشكلة لمدة أسبوع أو نحو ذلك الآن ، وجدت سؤالًا مشابهًا تم نشره على QT لمنتدى Symbian ، لكن لم يجيب عليها أي شخص.
المشكلة هي ببساطة أنه عندما أقوم بتشغيل التطبيق ، حسنًا ، لا يزال هناك تطبيق أولي :) ، إما على المحاكي أو على جهاز حقيقي ، واستخدم لوحة مفاتيح QWERTY الفعلية لكتابة الأحرف العادية ، في هذه الحالة الجهاز في اتجاه المناظر الطبيعية ، لا يتم استدعاء وظيفة المفاتيح ، ولكن يطلق عليها إذا قمت بالضغط على مفاتيح مثل Enter و Backspace والسهام المختلفة ومفتاح الإجراء. كما يحدث هذا إذا قمت بتشغيل التطبيق على المحاكي واستخدمت لوحة مفاتيح جهاز التطوير للكتابة.
من ناحية أخرى ، إذا استخدمت لوحة مفاتيح Qwerty Mini Qwerty على الشاشة ، أو استخدمت لوحة مفاتيح جهاز التطوير للكتابة والمحاكي في اتجاه الصورة ، يتم استدعاء وظيفة keypressevent.
الآن لكي أكون أكثر تحديداً ، لدي فئة ترث من QtextedIt ، لقد تجاوزت الوظائف Keypressevent و FocusInevent داخله ، كما أسمي الوظيفة setFocusPolicy داخل مُنشئ الفصل ، ولكن لا شيء يبدو أنه يحل المشكلة.
يجب أن أقول أيضًا أن الكود الذي أحاوله هو إصدار معدّل من مثال CustomCompleter ، ووجدت أن هذه المشكلة تحدث أيضًا مع الكود الأصلي.
لذا يا رفاق ، أي شخص لديه أي فكرة عن كيفية حل هذه المشكلة؟
يعتبر.
المحلول
يمكنك التحقق keyReleaseEvent
و/أو مراقبة جميع الأحداث عن طريق تجاوز event(QEvent*)
والتحقق بالضبط من الأحداث التي يتم إنشاؤها بالفعل. قد يتم إنشاء حدث مناسب مختلف.
ومع ذلك ، فإن السلوك الذي وصفته يبدو حقًا وكأنه خطأ بالنسبة لي. يمكنك التحقق من QT تعقب الأخطاء و/أو تقديم تقرير خطأ.