سؤال

أنا أستخدم wxGenericDirCtrl، وأود أن أعرف ما إذا كانت هناك طريقة لإخفاء الدلائل، وأود بشكل خاص إخفاء أشقاء العقد الأصلية.

على سبيل المثال، إذا كانت بنية الدليل الخاصة بي تبدو كما يلي:

+-a
  |
  +-b
  | |
  | +-whatever
  |
  +-c
  | |
  | +-d
  |   |
  |   +-e
  |   |
  |   +-f
  |   
  +-g
    |
    +-whatever

إذا كان الدليل المحدد حاليًا هو /a/c/d، فهل هناك أي طريقة لإخفاء b وg، بحيث تبدو الشجرة هكذا في ctrl:

+-a
  |
  +-c
    |
    +-[d]
      |
      +-e
      |
      +-f

أنا أعمل حاليًا مع بنية دليل تحتوي على الكثير والكثير من الأدلة التي لا علاقة لها بمعظم المستخدمين، لذلك سيكون من الجيد أن تكون قادرًا على تنظيفها.

يحرر:إذا أحدث ذلك فرقًا، فأنا أستخدم wxPython، وحتى الآن، قمت فقط باختبار الكود الخاص بي على Linux باستخدام الواجهة الخلفية لـ GTK، لكنني أخطط لجعله متعدد المنصات واستخدامه على Windows وMac باستخدام الواجهات الخلفية الأصلية.

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

المحلول

تعد قائمة/دلائل التنقل في Python أمرًا سهلاً للغاية، لذا أوصي بمحاولة "إنشاء المجلدات الخاصة بك" باستخدام أحد عناصر التحكم الشجرية البسيطة (مثل TreeCtrl أو CustomTreeCtrl).يجب أن يكون من السهل جدًا استدعاء رمز قائمة الدليل عند توسيع بعض الأدلة وإرجاع النتيجة.

نصائح أخرى

لا أعتقد أن هذا ممكن.

سيكون من السهل نسبيًا إضافة هذه الوظيفة إلى عنصر التحكم الأساسي C++ wxWidgets، ولكن نظرًا لأنك تستخدم wxPython، فسيتعين عليك بعد ذلك إعادة بناء ذلك أيضًا وهي مشكلة هائلة.

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