Я пытаюсь создать игру Scrabble с Python. Я бы хотел отобразить точки, которые стоит, когда пользователь вводит слово. Я уже задавал этот вопрос, поскольку не знал, какой метод использовать. Поскольку я обнаружил, какой метод использовать, и мой вопрос о том, как использовать этот метод, я думаю, что это заслуживает нового вопроса. Моя проблема в том, что я создал функцию под названием bind_entry(event)
, которая должна устанавливать метку каждый раз, когда пользователь вводит букву. Но функция bind_entry(event)
не знает установленную метку и запись, в которой находится слово.Python 2.7: Tkinter, Как использовать метод bind?
Вот мой код:
#this the function creating the label
def create_variabletext_intlabel(root,col,row):
val=IntVar()
label=Label(root,textvariable=val)
label.grid(column=col,row=row)
return val, label
#this is the function creating the entry
def create_entry_string(root,width,col,row,columnspan,rowspan):
val=StringVar()
entry=ttk.Entry(root,width=width,textvariable=val)
entry.grid(column=col,row=row,columnspan=columnspan,rowspan=rowspan)
entry.bind("<Any-KeyPress>",bind_entry)
#Here is my problem, when I call the function bind_entry.
return val, entry
def bind_entry(event):
label.set(m.counting_point(char(event)))
# m.counting_point() is a function counting the word's points
# my problem is that the function doesn't know yet the label.
# I don't know how to call the label.
# I call the function create_entry_string in another file initiating
# all the widget for the GUI
val_entry_word, entry_word =g.create_entry_string(root,15,1,1,1,1)
# I call the function create_variabletext_intlabel in another file
# initiating all the widget for the GUI
val_points,label_points=g.create_variabletext_intlabel(root,1,2)
Я просто заметил, что функция m.counting_points()
будет рассчитывать только письмо, напечатанное пользователем. Здесь я должен позвонить val_entry_word
.
Так вот мой вопрос:
Как val_entry_word
и val_points
создаются в функции в другом файле Как я могу позвонить val_entry_word
и val_points
в функции bind_entry()
?
Я не совсем понимаю, что 'm' находится в' bind_entry'. Кроме того, какой ввод принимает 'counting_point' - логическое предположение будет строкой, но неясно, что вы делаете ... например. что такое 'char'. Насколько я могу судить, это не встроенный python ... – mgilson