Tkinter按钮只能使用一次

时间:2019-06-10 23:22:14

标签: python-3.x tkinter raspberry-pi3

Tkinter按钮只运行一次单独的脚本

大家好,我是python和raspberry pi的新手,并且一直在寻找如何让Tkinter按钮在我的raspberry pi上多次运行脚本的高空研究。通过研究,我相信这与名称 =“ main ”有关,但我无法弄清楚需要做什么以及为什么。我的按钮在生成RF信号的同一目录中运行一个单独的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信号,但进一步的点击不会发生任何事情。

3 个答案:

答案 0 :(得分:1)

您不能多次导入模块。同一模块的每个其他导入均为NOP。您需要对sendRF中的内容进行功能化,然后在test_function中调用该功能。

答案 1 :(得分:1)

您可以通过在函数中添加一个简单的打印语句来检查函数是否正常工作

from tkinter import *

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

#define a function
def test_function ():
    import SendRF
    print('CHECK') 

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

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

答案 2 :(得分:0)

它一次工作了,因为您确实已导入了SendRf函数,您需要关闭它,然后再次导入