2016-11-02 38 views
0

テキストファイルから設定を読み込んでラジオボタンの変数を設定する設定ページを作成しようとしています。この関数は、個別に実行すると完全に機能します。しかし、別のtkinterプログラムの中で実行すると、プリセット設定は表示されません。私は何が欠けていますか?前もって感謝します。Tkinterでラジオボタンのプリセットが継承されない

from Tkinter import * 

def format(): 
    root = Tk() 
    root.geometry("800x480+400+240") 
    root.configure(background='#9E9E9E') 

    time_format = IntVar() 
    time_format.set(12) 

    Time_Format1 = Radiobutton(root, text="12 Hour Format(AM/PM)", font="georgia 12 bold", bg="#1E88E5", activebackground="#64B5F6", fg="black", activeforeground="black", highlightbackground="#212121", variable=time_format, value=12, indicatoron=0) 

    Time_Format2 = Radiobutton(root, text="24 Hour Format", font="georgia 12 bold", bg="#1E88E5", activebackground="#64B5F6", fg="black", activeforeground="black", highlightbackground="#212121", variable=time_format, value=24, indicatoron=0) 

    Time_Format1.grid(row=0,column=0) 
    Time_Format2.grid(row=1,column=0) 

    root.mainloop() 

root = Tk() 
root.geometry("800x480+400+240") 
root.configure(background='#9E9E9E') 


Open_time = Button(root, text="Open Date & Time settings", command=format) 
Open_time.grid(row=0, column=0) 
root.mainloop() 
+2

「root.mainloop()」は2つありません。 Tkでは、1つだけを使用する必要があります。 – Marcin

+0

は 'mainloop()'のみを保ち、 'Toplevel()'を使って2番目のウィンドウを作成します。 – furas

+0

私はついにそれを理解しました。私がしなければならなかったのは、変数を読み取るラベルを作成することでした。私はラベルを表示しませんでしたが、私は変数がガベージコレクションされるのを防ぐと思います。 – user7016824

答えて

1

のTkinterは唯一のメインウィンドウ持つことができます - Tk()
をしかし、それは、多くのダイアログウィンドウまたはToplevel()で作成した他の(サブ)の窓を有することができます。

Tkinterは1つだけmainloop()を持つことができます。

from Tkinter import * 

def format(): 
    root = Toplevel() 
    root.geometry("800x480+400+240") 
    root.configure(background='#9E9E9E') 

    time_format = IntVar() 
    time_format.set(12) 

    time_format1 = Radiobutton(root, text="12 Hour Format(AM/PM)", font="georgia 12 bold", bg="#1E88E5", activebackground="#64B5F6", fg="black", activeforeground="black", highlightbackground="#212121", variable=time_format, value=12, indicatoron=0) 
    time_format2 = Radiobutton(root, text="24 Hour Format", font="georgia 12 bold", bg="#1E88E5", activebackground="#64B5F6", fg="black", activeforeground="black", highlightbackground="#212121", variable=time_format, value=24, indicatoron=0) 

    time_format1.grid(row=0,column=0) 
    time_format2.grid(row=1,column=0) 


root = Tk() 
root.geometry("800x480+400+240") 
root.configure(background='#9E9E9E') 

open_time = Button(root, text="Open Date & Time settings", command=format) 
open_time.grid(row=0, column=0) 

root.mainloop() 
+0

ありがとうございますが、残念ながら私のプリセットはまだ表示されません。これを引き起こしている可能性のあることは他にありますか? – user7016824

+0

他のコードを意味しますか?その後、何千もの問題が発生する可能性があります。コードを見ずにお手伝いすることはできません。 – furas

+0

申し訳ありませんが、より具体的なはずです。このコード自体はプリセットをロードしません。ラジオボタンは、12に設定されていることを示していません。 – user7016824

関連する問題