Кнопка Tkinter работает только один раз - PullRequest
2 голосов
/ 11 июня 2019

Кнопка Tkinter запускает отдельный скрипт только один раз

Привет всем, я новичок в python и raspberry pi, и я искал высокий и низкий уровень того, как заставить кнопку Tkinter запускать скрипт более одного раза вмой малиновый пи.Из исследований я считаю, что это как-то связано с name = " main ", но я не могу понять, что нужно сделать и почему.Моя кнопка запускает отдельный файл Python (называемый SendRF.py) в том же каталоге, который генерирует РЧ-сигнал, он работает в первый раз, но затем нажатие кнопки больше ничего не делает после.Любой совет будет высоко ценится:)

from tkinter import *

#create a window
window =Tk()
window.title("Chappers Home Automation project")

#define a function
def test_function ():
    import SendRF

#create a button
B = Button(text ="Test Button 1", command=test_function)

B.pack(padx = 100, pady = 50)
window.mainloop()

Сообщения об ошибках не появляются.Кнопка посылает сигнал RF при первом нажатии, но при дальнейших нажатиях кнопки ничего не происходит.

1 Ответ

1 голос
/ 11 июня 2019

Вы не можете импортировать модуль несколько раз. Каждый дополнительный импорт для того же модуля является NOP. Вам нужно функционировать все, что есть в sendRF, и вызывать эту функцию в test_function.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...