Nano Hash - криптовалюты, майнинг, программирование

Как при использовании события в Tkinter передать другие переменные в функцию события?

В этом примере я использовал с http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm, как можно передать больше переменных в функцию обратного вызова. Допустим, вы хотели передать созданный вами словарь и использовать этот словарь, как вы могли бы сделать это без вызова глобальных переменных.

from Tkinter import *

root = Tk()

def callback(event):
    print "clicked at", event.x, event.y

frame = Frame(root, width=100, height=100)
frame.bind("<Button-1>", callback)
frame.pack()

root.mainloop()

Новичок здесь, может быть неловкая формулировка, не стесняйтесь просить разъяснений.


Ответы:


1

Вот два возможных пути.

  1. Вы можете поместить свою функцию обратного вызова в класс и использовать self для передачи самоопределяемых переменных
  2. Вы можете установить все свои переменные в другом файле модуля и импортировать их в этот файл. Так как переменные из другого файла были импортированы в это пространство имен, вы можете использовать их, не переходя в функцию «обратный вызов», точно так же, как и глобальные переменные.
25.07.2014
  • Спасибо! Работал отлично. 25.07.2014
  • существует более двух возможных способов. Например, вы также можете использовать lambda и functools.partial. 25.07.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..