0
現在、tkinterでPython 3.3.2を実行していますが、同じ問題が発生しています。ラジオボタンを使って新しいウィンドウを作成すると、3つのラジオボタンのうち2つがチェックされていますが、私はなぜそれがわからないのですか?私は自分のコードで遊んでみましたが、うまくいかないようです。誰かがなぜそれを見ることができれば、とても感謝しています。私のコードは以下の通りです:tkinter - 3つのラジオボタンのうち2つがチェックされています
def shape_Menu():
def triangle_choice():
def updatetext(event):
answer.delete(0, END)
window1.update_idletasks()
def check_Answer(event):
if answer.get() == area:
canvas.create_text(150, 95, text='Width='+str(random_number2)+'cm', font=('arial', 45, bold), fill=green)
def correct():
print('correct!!!')
def incorrect():
print('Incorrect!!!')
window1 = tk.Tk()
window1.geometry('875x450+375+325')
window1.title('Triangle')
canvas = Canvas(window1, width=200, height=150)
canvas.pack(side=tk.LEFT, padx=40, pady=35)
canvas.create_polygon((0, 100, 50, 0, 100, 100), fill="blue")
random_number1 = random.randint(1,12)
canvas.create_text(150, 75, text='Length='+str(random_number1)+'cm', font=('arial', 10))
random_number2 = random.randint(1,12)
canvas.create_text(150, 95, text='Width='+str(random_number2)+'cm', font=('arial', 10))
canvas.create_text(80, 115, text='Area = (Length * Width)/2', font=('arial', 10))
area = (random_number1 * random_number2)/2
random_num = random.randint(0,3)
random1 = random.uniform(1,100)
random1 = round(random1, 2)
random2 = float(random.randint(1,100))
v = IntVar()
if random_num == 1:
c1 = Radiobutton(window1, text=area, variable=v, value=1, command=correct).pack(side=RIGHT, padx=50, pady=25)
c2 = Radiobutton(window1, text=(random1), variable=v, value=2, command=incorrect).pack(side=RIGHT, padx=50, pady=25)
c3 = Radiobutton(window1, text=(random2), variable=v, value=3, command=incorrect).pack(side=RIGHT, padx=50, pady=25)
elif random_num == 2:
c1 = Radiobutton(window1, text=(random1), variable=v, value=1, command=incorrect).pack(side=RIGHT, padx=50, pady=25)
c2 = Radiobutton(window1, text=area, variable=v, value=2, command=correct).pack(side=RIGHT, padx=50, pady=25)
c3 = Radiobutton(window1, text=(random2), variable=v, value=3, command=incorrect).pack(side=RIGHT, padx=50, pady=25)
else:
c1 = Radiobutton(window1, text=(random1), variable=v, value=1, command=incorrect).pack(side=RIGHT, padx=50, pady=25)
c2 = Radiobutton(window1, text=(random2), variable=v, value=2, command=incorrect).pack(side=RIGHT, padx=50, pady=25)
c3 = Radiobutton(window1, text=area, variable=v, value=3, command=correct).pack(side=RIGHT, padx=50, pady=25)
def circle_choice():
root = tk.Tk()
root.geometry('300x160')
root.eval('tk::PlaceWindow %s center' % root.winfo_pathname(root.winfo_id()))
root.title('Circle')
これはhttp://stackoverflow.com/questions/22686587/tkinter-radiobutton-not-working?rq=1を助けるかもしれない –
それは別の問題であり、とにかくありがとう。 –
FWIWでは、1つのプログラムに2つの 'tk.Tk()'メインウィンドウがありません。また、あなたのコードで '.mainloop()'呼び出しを見ることができません。あなたの問題に焦点を当てた[mcve]を投稿することを検討してください。 –