wx.StaticText
wxFormbuilder でいくつかのウィジェットを作成し、それらを動的に参照できるようにしたいという状況に陥ることがよくあります。a0
を通じて名前が付けられた多数の静的テキストがあるとしますa10
コードでそれらを見つけるにはどうすればよいですか?
1 つの方法は、すべての変数を含むリストを作成することですが、それは醜く、非効率的だと感じますか? そうではないかもしれませんが、少なくともコードはいたるところに長いリストが散らかっています。
def updateLabels(self, data):
guiLabels = [self.a0, self.a1, self.a2 ..... ]
for i in range(len(guiLabels)):
guiLabels[i].SetLabel(data[i)
これをどのように修正しますか?
もう 1 つの方法は、アプリの開始時に guiLabels リストを作成することです。ただし、それらを見つけるのにいくつか問題がありました。一番上のウィンドウで GetChildren() を呼び出し、すべての要素に異なる値wx.ID
を設定しStaticText
てから、すべての要素を調べて、作成したこの ID を見つける必要があります..そして、これを行うときの書式設定は本当に重要ではありません..テキストの背景色が異なりますアライメントやその他のファンキーなものを尊重しません。
これを行う方法について何か考えはありますか?