2014-09-18 2 views
0

Я новичок в использовании tkinter, и я заметил, что с тем, как я это делаю, я не могу использовать обе кнопки и привязку клавиш к функции rum.python button and key binding positional argument

def call(self) 
    ..... 


submit = Button(app, text="Call" command = call).grid(row=3, column=0) 
call.bind('<Return>', call) 

это в основном общая идея о том, что я получил установки, я хочу их оба, чтобы запустить функцию, но я получаю позиционный аргумент для кнопки, если я использую «я» и позиционное аргумент в пользу введите ключ, если я не использую 'self'

любые идеи?

+0

Я не знаю, относится ли это к вашей проблеме, но вы не должны назначать виджет Tkinter для переменной, а 'grid' - в той же строке. В приведенном выше коде 'submit' будет' None', потому что метод 'grid' ничего не возвращает. Вы должны сделать 'submit = Button (...)', а затем 'submit.grid (...)'. – Kevin

+0

Хорошо. Я начну так делать. Спасибо за совет – user3763447

+1

'call.bind (...)' является незаконным синтаксисом - вы не можете привязываться к функции, вы привязываетесь к виджету. –

ответ

1

Я, похоже, исправил это. Для моего кода мне пришлось добавить функцию *event. После этого он позволил мне использовать как ключ ввода, так и данную кнопку без каких-либо ошибок.