من بين عناصر نموذج نافذة واجهة المستخدم ، تعد حقول التحديد أو إدخال البيانات ذات أهمية خاصة. يجب أن تكون معالجة القيم المحددة فورية. لذلك ، يحتاج المطور إلى تلقي معلومات عن أي تغيير في النوافذ. في مواقف مختلفة ، عند قراءة قيمة حقل ، تحتاج إلى مراعاة نوع البيانات المحدد ونطاق عنصر النموذج.
تعليمات
الخطوة 1
عند تطوير التطبيقات باستخدام مكتبة برمجة Qt ، يتم عادةً إنشاء نماذج النوافذ من عناصر واجهة المستخدم (فئة QWidget) أو مربعات الحوار (QDialog). تتم إضافة عناصر التحديد أو إدخال البيانات إلى كائنات الفئات المحددة ويتم وضعها بشكل مرئي في معيار أو مربع حوار.
الخطوة 2
استخدم فئة QComboBox للعمل مع القائمة المنسدلة. يمكن أن يكون مجال العمل المرئي نشطًا لإدخال البيانات أو مغلقًا. إذا كان المستخدم قادرًا على إدخال قيمة في الحقل ، فيمكنك الحصول عليها بالرجوع إلى كائن القائمة. رمز المثال: QComboBox m_comb ؛ نتيجة QString ؛ النتيجة = m_comb.currentText () ؛ هنا ، يقوم الكائن m_comb باستخدام طريقة currentText () بإرجاع القيمة الحالية للحقل العلوي ، ويمكن إدخالها أو تحديدها في القائمة المنسدلة قائمة. تحتوي نتيجة متغير السلسلة على القيمة من حقل العمل المرئي لمربع التحرير والسرد.
الخطوه 3
ومع ذلك ، يمكن أن يكون نوع البيانات المدخلة رقميًا أيضًا. لتحويل قيم السلسلة إلى النوع المطلوب ، قم بتنفيذ إحدى العمليات التالية: double resD = result.toDouble ()؛ float resF = result.toFloat ()؛ int resI = result.toInt ()؛ هنا ، سيتم تخزين قيمة الحقل الناتجة في متغير resD ، ولكن بالفعل في مزدوج ، في resF - قيمة عائمة ، وفي resI - قيمة عدد صحيح صحيح.
الخطوة 4
عند استخدام محرر نص سطر واحد QLineEdit كعنصر إدخال بيانات ، احصل على المعلومات التي تحتاجها من خلال الإدخال التالي: نتيجة = m_edit.text (). هنا ، يقوم الكائن m_edit ، باستخدام دالة text () ، بإرجاع قيمة السلسلة التي أدخلها المستخدم في الحقل.
الخطوة الخامسة
يمكن لعنصر QListBox أداء وظيفة مماثلة في نموذج ذي إطارات ، والوصول إلى البيانات المدخلة لهذا الكائن مشابه أيضًا للعنصر المحدد مسبقًا: m_list.currentText ().
الخطوة 6
عند الوصول إلى جميع مثيلات الفئات الموصوفة ، يجب أن يكون لديك حقوق الوصول المناسبة ، نظرًا لأن استدعاء الأساليب والكائنات الخاصة أمر مستحيل من وظائف الجهات الخارجية. الطرق المدروسة للحصول على قيمة الحقل لها حالة مفتوحة.