python - Button Input using Tkinter -
i'm creating battleship in python 3.4.1 , i'm using tkinter.
this source code:
from tkinter import * vtext = ["a","b","c","d","e","f","g","h","i","j"] def press(a,b): print("you pressed: " + str(a * 10 + b)) root = tk() def button(): in range(0,10): global self j in range(1,11): self = button(root, text = vtext[i] + str(j), command = lambda: press(i,j), padx = 20, pady = 20).grid(row = i, column = j) root.wm_title("enemy grid") button() root.mainloop()
later want function based on button pressed. how do that?
make press
function take additional parameter.
def press(a, b, text): print("you pressed: " + str(a * 10 + b), text)
and pass button text function:
button(root, text = vtext[i] + str(j), command=lambda i=i, j=j, text=vtext[i] + str(j): press(i, j, text), padx=20, pady=20).grid(row=i, column=j)
note: utilize of keyword argument in lambda
bind current value of i
, j
. if don't utilize keyword argument, i
, j
, .. reference lastly values assigned in loop.
btw, grid
returns nil (= homecoming none
). assigning homecoming value variable not have meaning.
python python-3.x tkinter python-3.4
No comments:
Post a Comment