2016-08-31 7 views
0

私は、ラベルテキスト 'Allocate'を持つボタンがあるwxPythonアプリケーションで作業しています。また、私はまた、私のアプリに2つのラジオのオプションがある 'UnAllocated'と '割り当て'。アプリがデフォルトで起動すると、[UnAllocated]ラジオオプションが選択され、ボタンには[Allocate]というラベルテキストが表示されます。私は、ボタンのラベルテキストを '割り当て済み'ラジオオプションを選択すると '再割り当て'に変更するイベント駆動型コードを作成しました。うまくいって、コードは意図どおりに機能します。ボタンのテキストを変更する際のwxPythonの問題

この問題は、ラジオオプションが「割り当て済み」の場合、ボタンラベルは新しいラベルテキストを「再割り当て」として取得しますが、変更する代わりに前のラベルテキストを上書きしています。その後、マウスカーソルをボタン上に移動するとすぐに、テキストが更新され、きれいで明瞭に見えます。以下は私のコード

def rdoAllocated_Click(self, event): 
    self.btn_Allocate.SetLabelText('Re-Allocate') 

def rdoUnAllocated_Click(self, event): 
    self.btn_Allocate.SetLabelText('Allocate') 

は明らかに代わりに読めない上書きテキストの新しいテキストを表示するには、変更後に自動的にボタンのラベルテキストをリフレッシュする方法があるです。 Here is the image how it looks when getting updated

答えて

0

お試しくださいself.btn_Allocate.Refresh()これはプラットフォームやウィジェットの種類によっては時々発生することがあります。 Refreshは、近い将来ペイントイベントを送信するようにシステムに通知するだけで、問題を処理する可能性が最も高くなります。そうでない場合は、代わりに親ウィンドウのRefreshを呼び出す必要があります。

+0

が完璧です。ロビンさんありがとうございました:) – Premanshu

関連する問題