foreachは{}内の文字列を最初から終わりまで順に、変数iに格納して次の{}内で指定したプログラムを実行しなさいという意味。
gridでcolumnとrowを指定してあるけど、それはcolumn(グリッド内の列のn番目を占めるように挿入するという意味)とrow(グリッド内の行n番目を占めるように挿入するという意味)のプログラムとボタンの配置のスクリーンショットの対応を見てもらえると分かると思う。

次は-rowspan 2でボタン6を2行分の幅をとりなさいという指定をしてやった。
上記のプログラムを応用することで電卓のGUIのひな形ができる。

gridオプション
-minsize 最小の幅、高さを指定する。
-weight 余白を配分するときの割合を指定する。
-pad 詰め物の指定。
-columnconfigure 列方向に配置された格子のオプションを指定。
-rowconfigure 行方向に配置された格子のオプションを指定。
-column 指定した列。
-row 指定した行。
-in n nで示されるマスターの中にスレーブを配置する。
-ipadx スレーブの内側の横方向のパディングの値を指定。
-ipady スレーブの内側の縦方向のパディングの値を指定。
-padx スレーブの外側の横方向のパディングの値を指定。
-pady スレーブの外側の縦方向のパディングの値を指定。
-sticky スレーブを配置するセルの大きさがスレーブよりも大きい場合、どの方向にスレーブを寄せるか指定。n(上)s(下)e(左)w(右)。
Tkコマンド【目次】

