قم بإزالة Sublayout في كيو تي؟
سؤال
في Pyqt 4.5، لدي تخطيط داخل تخطيط آخر. أود إزالة الطبقة الفرعية من والديها، وإخفائها. استطيع ان اقول parent_layout.removeItem(child_layout)
لإزالة التصميم من والديها، ولكن لا يزال يظهر على القطعة. لا أستطيع إيجاد أي طريقة لإخفائها في خطوة واحدة، كما QLayout
لا يملك hide()
طريقة مثل QWidget
هل.
المحلول
سيكون الحل السهل هو الحصول على القطعة الداخلية، وليس تخطيطا داخليا. يمكنك تعيين التخطيط الذي تريده في القطعة، ثم قم فقط بإزالة / إخفاء القطعة عندما تريد القيام بذلك. قاعدة جيدة من الإبهام هي إذا كنت ترغب فقط في ترتيب كيفية ظهور الحاجيات، ثم استخدم تخطيط؛ إذا كنت ترغب في إخفاء / إظهارها كمجموعة، فاستخدم القطعة.
نصائح أخرى
مع بعض المساعدة من flupke على #qt
, ، خطرت لي:
for i in range(0, child_layout.count()):
child_layout.itemAt(i).widget().hide()
parent_layout.removeItem(child_layout)
الذي يفترض كل أطفال تخطيط الطفل هم الحاجيات. هل هناك حل أبسط؟