سؤال

أنا أكتب تطبيق اختبار يحاكي مكابس المفاتيح لتطبيق آخر. لكل مفتاح اضغط ، يجب أن أتحقق مما إذا كانت النافذة/النموذج الصحيحة معروضة. إذن ما أقوم به هو الحصول على مؤشر النافذة التي يتم عرضها واحصل على عنوان نافذة. ومع ذلك ، ليس كل النوافذ/النماذج المعروضة عناوين النوافذ. لذلك أعتقد أنه سيكون من الأفضل الحصول على اسم الفصل بدلاً من ذلك. كيف يمكنني الحصول على اسم الفصل؟

QWidget *pWin = QApplication::activeWindow();

عندما أحاول:

pWin->className(); 

للحصول على اسم الفصل ، أحصل على:

"خطأ: فئة QWIDGET ليس لديها عضو يسمى" classname ""

هل يمكن لأي شخص أن يريني بالطريقة الصحيحة؟

هل كانت مفيدة؟

المحلول

حاول استخدام metaObject.

pWin->metaObject()->className();  

نصائح أخرى

يمكنك أيضا التحقق من رأس typeinfo. باستخدام مشغل typeid على كائنك ، تحصل على مثيل type_info الذي يصف نوع الكائن الخاص بك. الدفع: http://www.cplusplus.com/reference/std/typeinfo/type_info/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top