0

コード: http://pastebin.com/W4uXmazw

wx.Button をクリックした後、イベント処理を使用して任意の wx ウィジェットから値を取得する方法を覚えたいと思います。

私のプログラムには、新しいファイル名と内容の 2 つのフィールドがあります。

各フィールドから値を取得するために必要な手順は何ですか?

そこから、pythons f.open および f.write メソッドを使用してアプリケーションを完成させることができます。

ありがとう!

4

1 に答える 1

0

ウィジェットの値を取得したい場合は、クラス全体でそのウィジェットにアクセスできるようにする必要があります。そのためには、ウィジェットの変数をインスタンス変数にする必要があります。したがって、テキスト コントロールをサイザーに直接追加する代わりに、次のようにします。

self.newfilename = wx.TextCtrl(panel,-1), 0, wx.TOP, 5)
self.contents = wx.TextCtrl(panel,-1,size=(390,150),style = wx.TE_MULTILINE|wx.TE_PROCESS_TAB)

次に、ボタンのイベント ハンドラーで、次のようなことができます。

valueOne = self.newfilename.GetValue()
contents = self.contents.GetValue()

それを行う別の方法は、パネルを使用することです。「self.panel」を使用する場合、その GetChildren メソッドを介してすべての子を取得し、リストを反復処理して、Python の「isinstance」ビルトインを使用して、アクセスしているウィジェットの種類を確認できます。ウィジェットの名前を設定している場合は、それも確認できます。

于 2012-12-18T15:48:31.587 に答える