سؤال

لدي الحاجة إلى الحصول على واحد أو أكثر من الدلائل من المستخدم، وأنا أحاول استخدام QFileDialog لهذا، كما هو موضح أدناه.(باستخدام QT 5.2)

المشكلة هي أنه إذا كان المستخدم يتصفح أسفل دليل من دليل البداية، فما عند تحديد دلائلها، بالإضافة إلى الدلائل المحددة التي ترجع مربع الحوار الدليل الأصل.يحدث هذا فقط ل الفوري الوالد.إذا أتصفح اثنين من الدلائل، فإنهم لا يزالون يحصلون على إدخال الوالدين الضخم فقط.إذا كان آخر التنقل الأخير هو العودة إلى الدليل السابق، فلن يحصلون على إدخال الوالدين الإضافي.

سؤالي هنا هو: أ) هل هذا خطأ معروف مع QfileDialog؟و ب) هل هناك إصلاح / حلوة؟

أفضل ما يمكنني التفكير فيه هو كتابة التعليمات البرمجية لمقارنة الإدخال المحدد الأول مقابل الثانية، وتشاكه إذا كان الدليل الأصلي.

giveacodicetagpre.

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

المحلول

المشكلة، وكيف أرى ذلك، في استخدام وضع اختيار معين لآراء عرض عنصر مربع حوار الملفات، عندما لا يلحق التحديد الجديد بالاختيار السابق.لذلك، عند التنقل عبر التسلسل الهرمي لأسفل، انقر فوق عقود الدليل قبل إجراء التحديد النهائي.هكذا تتراكم عناصر إضافية.ما أقترحه، يستخدم وضع QAbstractItemView::ContiguousSelection، الذي يلحق التحديد القديم.لذلك، يجب أن يبدو الكود الخاص بك كما هو:

giveacodicetagpre.

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