2017-03-26 13 views
0

私のチェックボックス(admin_check)は、トグルされている間にcheck_varの値を設定していません。私はルートウィンドウを削除すると正常に動作しますが、必要なので削除できません。tkinterウィンドウのチェックボックス操作

ブライアンオークリーは、前述のように
def c(): 
    print(check_var.get()) 


root=Tk() 
#initially it must be minimised not to be open until login by user 
root.quit() 
inst_window=Tk() 


#instruction and login window 

login_frame=Frame(inst_window,bg="lightpink",height=100,width=100) 
check_var=StringVar() 
admin_check=Checkbutton(login_frame,text="Adm",variable=check_var, onvalue='admin',offvalue='user',command=c) 
login=Button(login_frame,text="login",command=c) 
admin_check.grid(row=0,columnspan=2) 
login.grid(row=1,columnspan=2) 

login_frame.pack() 
login_frame.pack_propagate(0) 

root.mainloop() 
+2

最初の問題は、 'Tk()'を2回呼び出すことができないということです。これは、チェックボックスのデフォルトを選択しないようにすることです。 Tkinterは 'Tk()'のインスタンスを1つだけ持つように設計されています。他の問題があるかもしれませんが、あなたがその問題を修正するまで、他の問題に対処することは重要ではありません。 –

答えて

0

、あなたは、他の問題がないことをやった後はその代わりToplevel()

変更inst_window=Tk()

inst_window=Toplevel(root)するために使用し、2 Tk()を持つことができないとコードは正常に動作します。

check_var.set("user") 
関連する問題