0
wxpythonでは、sizerとその項目を無効/有効にできないので、sizerをループして1つずつ無効にすることにしました。wxpythonでsizerの要素を無効/有効にする
私のパネルは次のようになります。私の項目が動的に作成されているので、私はどのような要素が内側になりますどのように多くのか分からないので、そのidでそれを行うことはできません
vertical_sizer
├── horizontal_sizer_1
│ └── dynamic_created_elements
└── horizontal_sizer_2
└── dynamic_created_elements
。 だから私はこのコードwrtittenています
for horizontal_sizer in self.my_sizer.GetChildren():
for element in horizontal_sizer.GetChildren():
element.Enable()
をしかし、私は私のhorizontal_sizerにエラーAttributeError: 'SizerItem' object has no attribute 'GetChildren'
を取得し続けます。
感謝を:
代わりに、あなたはそれをスキップし、子アイテムがメソッドとして
GetChildren()
があり、そうでない場合はどうかを判断するために、Pythonのhasattr
を使用することができます。何度か再チェックし、あなたが甘やかされたときに 'hasattr'を試しました。プログラムはちょっと複雑なので、私はまだ何かが欠けている可能性があります。だから、私はそれが私のパネルで変更を必要とする要素を格納しているリストを作成して仕事をすることができなかったので。クリーンでないかピジョンソニックな解決策ではなく、適切な修正を得られない 'TODO'リストのもう一つのことです。 –