編集:申し訳ありませんが、私は新しいので自分の投稿に答えることができませんが、私はそれを理解しました:行「tki.Button(master、...」(最後のコード行から2番目)を削除すると、コードが実行されますまったく問題ありません.グリッドとボタンは、私が書いたようには機能しないと思います.
お手数をおかけして申し訳ありません。基本的に、ループして各値をGRIDのラジオボタンとして設定したい配列があります。後で、いくつかの配列をループしてより大きなグリッド メニューを生成しますが、この最初のループが機能するようになれば、おそらくそれを理解できるでしょう。
これが私のコードです:
import Tkinter as tki
master = tki.Tk()
frm = tki.Frame(master, bd = 16, relief = "sunken")
frm.grid()
tType = tki.StringVar()
tColumn = tki.IntVar()
tRow = tki.IntVar()
compType = ["iMac ", "Mac Mini ", "Mac Pro ", "Macbook ", "Macbook Air ", "Macbook Pro "]
tColumn.set(0)
tRow.set(0)
def radioCreate(typeArray):
for t in typeArray:
b = tki.Radiobutton(frm, text = t, variable = tType)
b.config(indicatoron = 0, bd = 4, width = 16, value = t)
b.grid(row = tRow.get(), column = tColumn.get())
tRow.set((tRow.get() + 1)) #increment tRow for next run-through
def p():
print tType.get()
radioCreate(compType)
tki.Button(master, command = p, text = "Display").pack()
master.mainloop()
ここで、これをグリッドで機能させようとしていることを思い出してください。これは、別の列に別の配列の別のデータを入力するためです。