2017-02-17 1 views
0

私がdifficulty1.select関数を呼び出したにもかかわらず、私が作成したすべてのラジオボタンが記入されている以下のコードを実行すると、あなたがdifficulty1.selectと呼ぶことができ、選択したいラジオボタンだけが選択されるということが、本の中で言われました。Pythonのすべてのラジオボタンが使用されていますが、radio_1.select?

コード:

# Import Statements 
from tkinter import * 
import turtle 
import tkinter.messagebox as box 

# Windows Statements 
window = Tk() 
window.title("Options - CraftClash - Windows - Version 0.0.3 BETA") 

# Widgets 
difficultytitle = Label(window, text = "\n\nDifficulty:") 
difficultyframe = Frame(window) 
difficulty = StringVar() 
difficulty1 = Radiobutton(difficultyframe, text = 'Easy', variable = difficulty) 
difficulty2 = Radiobutton(difficultyframe, text = 'Normal', variable = difficulty) 
difficulty3 = Radiobutton(difficultyframe, text = 'Hard', variable = difficulty) 
difficulty1.select() 

# Pack Statements 
difficultytitle.pack(side = TOP) 
difficulty1.pack(side = LEFT) 
difficulty2.pack(side = LEFT) 
difficulty3.pack(side = LEFT) 
difficultyframe.pack(side = TOP) 

# Sustain Window 
window.mainloop() 

ありがとう!

+0

他のサイトのコードにリンクしないでください。ここでアドバイスを読み、従ってください:[どのように、最小限の完全な、かつ検証例を作成する](http://stackoverflow.com/help/mcve) –

+0

私は、リンクを削除し、ポストにコードを追加しました。私はコードをより簡潔にしました。書式設定ヘルプありがとう! –

答えて

2

.select()は、ラジオボタンを選択(またはスイッチオン)するためのものです。使用する前に、variable = StringVar()を作成したときにラジオボタンがどのように動作するかを最初に理解する必要があります。ラジオボタンでwebpageとお読みください。段落を引用:あなたが疑問に思うかもしれません

を、 制御変数が設定されていないと、ユーザーが 上でそれらをクリックしたことがないときでラジオボタンのグループがどのような状態ですか?各制御変数のデフォルト値は、IntVarの場合は0、DoubleVarの場合は0.0 、StringVarの場合は ''です。 のラジオボタンの1つにその値がある場合、そのラジオボタンが最初に設定されます。 ラジオボタンの値オプションが変数の値と一致しない場合、 ラジオボタンはすべて消去されたように見えます。

したがって、コードでは値が定義されていません。 3つのボタンの値がそれぞれ"Monday","Tuesday" & "Wednesday"などと異なるとします。次に、StringVar変数に「難しさ」という値を割り当てます。難しい場合は.set()メソッドを使用する必要があります。値がラジオボタンの値と異なる場合、ラジオボタンは選択されないことに注意してください。次にdifficulty = 'Tuesday'とすると、difficulty2が選択されています。次に、コマンドdifficulty1.select()を追加すると、難易度2 & 3が選択解除され、1が選択されています。コードを次のように変更して試してみてください。

+0

ありがとう@サンベア!これは私の質問に答えて、この問題が再び発生するのを防ぎます。 –

関連する問題