2011-11-09 3 views
2

に私は、PythonでGUIを作るに新しいですし、私は何をしようとしていることは非常に単純である必要があります。基本的には、自分のプログラムでダイアログをインスタンス化するために使用するダイアログクラスがあります。このダイアログの1つは、色を変更するために使用したいボタンです。ユーザーがボタンをクリックして、カラーチューザーに移動し、ボタンを使用して選択した色に変更するダイアログに戻ることができるようにします。私のダイアログクラスでは、ここでボタンを定義します。のPythonのTk - 動的に関数内で定義され、ボタンを変更するには、クリック

def body(self, master): 

    Label(master, text="Track URL:").grid(row=0) 
    Label(master, text="Short label:").grid(row=1) 
    Label(master, text="Long label:").grid(row=2) 
    b = Button(master, text="Color",bg="white",command=self.chooseColor).grid(row=3) 

    self.e1 = Entry(master) 
    self.e2 = Entry(master) 
    self.e3 = Entry(master) 

    self.e1.grid(row=0, column=1) 
    self.e2.grid(row=1, column=1) 
    self.e3.grid(row=2, column=1) 

    return self.e1 # initial focus 

その後、私はちょうど私はbがスコープ外になりましたので、私はそれを変更することはできませんが、私はどのように理解していないことを理解し、色

def chooseColor(self): 
    color = askColor() 
    b["bg"] = color 

を選択するための簡単な機能が欲しいです私はボタンの色を変更することができる場所で選択された色を取得します。どんな助けでも大歓迎です。

答えて

2

bメンバ変数を作成します。

self.b = Button(.....) 

その後self.chooseColorself.b「を参照してください」と、それに変更を加えることができます。

def chooseColor(self): 
    color = askColor() 
    self.b["bg"] = color # or however you change a color in python/tkinter 
+0

、私はそれが簡単なものになるだろう知っていました。ありがとう! – Fincher

関連する問題