2017-01-07 27 views
0

私は簡単なプログラムを開発しており、コンボボックスから値を取得する必要があります。コンボボックスが最初に作成されたウィンドウにあるときは簡単ですが、たとえば2つのウィンドウがあり、コンボボックスが2番目にある場合は値を読み取ることができません。例えばPythonでコンボボックスの値を取得

from tkinter import * 
from tkinter import ttk 

def comando(): 
    print(box_value.get()) 

parent = Tk() #first created window 
ciao=Tk()  #second created window 
box_value=StringVar() 
coltbox = ttk.Combobox(ciao, textvariable=box_value, state='readonly') 
coltbox["values"] = ["prova","ciao","come","stai"] 
coltbox.current(0) 
coltbox.grid(row=0) 
Button(ciao,text="Salva", command=comando, width=20).grid(row=1) 
mainloop() 

私はCIAOから親へのウィジェットの親を変更した場合、それは動作します! 誰も私を説明できますか? ありがとうございました。私の悪い英語には申し訳ありません。

+2

のTkinterがうまく処理されません(self.current_table.get())印刷2つのメインウィンドウがありますので、2番目のウィンドウは最初のウィンドウのトップレベルにする必要があります。 –

答えて

1

2つのTk()ウィンドウを持つことはできません。 1つはToplevelでなければなりません。

あなたはbox_value.getない変数()ドロップダウンボックスの

例を取得する

class TableDropDown(ttk.Combobox): 
    def __init__(self, parent): 
     self.current_table = tk.StringVar() # create variable for table 
     ttk.Combobox.__init__(self, parent)# init widget 
     self.config(textvariable = self.current_table, state = "readonly", values = ["Customers", "Pets", "Invoices", "Prices"]) 
     self.current(0) # index of values for current table 
     self.place(x = 50, y = 50, anchor = "w") # place drop down box 

+0

ありがとう!できます!今、私は分かる – Damien

関連する問題