Задать вопрос
@Loulitee

Почему bind tkinter не видит функцию-обработчик?

import tkinter
import random

root = tkinter.Tk()
root.geometry("400x200")

def randomNumber(max):
    return round(random.random()*max)

class CreateButton:
    def __int__(self,name,true):
        self.button = tkinter.Button(root, text=name, height=30, width="50")
        self.button.bind("Motion", printer())#не видит функцию принтер
    def printer(self,event,true):
        if(true==False):
            self.button.place(x=randomNumber(400), y=randomNumber(200))



obj=CreateButton().__int__("ladno",False)

root.mainloop()
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
@dima20155
you don't choose c++. It chooses you
А у вас есть такая функция?
У вас есть метод класса self.printer
К тому же вам нужно передавать указатель на саму функцию, а не её вызов, т.е. self.printer, а не printer()
Ознакомьтесь с ссылками ниже.
https://python-course.eu/tkinter/events-and-binds-...
https://stackoverflow.com/questions/17979019/bindi...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы