我的Tkinter按钮错误

时间:2017-04-11 20:01:14

标签: python tkinter

我正在尝试使用python LagSwitch创建tkinter,但是我收到了一个我无法解决的错误,我是tkinter的新手。你能帮忙吗?

我运行脚本的错误:

  

ActivateButton = Button(text =“Activate”,fg =“green”,bg =“black”,command = activate)
  NameError:名称'activate'未定义

这是我的剧本:

#MAIN
from tkinter import *
import os
root = Tk()

#FRAMES
topFrame = Frame()
topFrame.pack(side=TOP)
bottomFrame = Frame()
bottomFrame.pack(side=BOTTOM)

#LABELS
MainLabel = Label(text="LagSwitch V0.1", fg="green", bg="black", font="arial")
MainLabel.pack()

#BUTTONS
QuitButton = Button(text="Close", command=quit, fg="red", bg="black", font="arial")
QuitButton.pack(side=BOTTOM)
ActivateButton = Button(text="Activate", fg="green", bg="black", command=activate)
ActivateButton.pack(side=TOP)
DeActivateButton = Button(text="Deactivate", fg="red", bg="black", command=deactivate)
DeActivateButton.pack(side=TOP)

#Activate/Deactivate command
def activate():
    os.system("networksetup -setairportpower airport on")
def deactivate():
    os.system("networksetup -setairportpower airport off")

#ROOT STUFF
root.geometry("500x300")
root.configure(background="black")
root.title("LagSwitch V0.1")
root.mainloop()

我该怎么办?我是初学者,所以我不那么聪明。如何改进脚本并修复我遇到的错误?我不明白。

2 个答案:

答案 0 :(得分:0)

from tkinter import *

root = Tk()

def printName(event):
    print("Hello my name is User")


button_1 = Button(root, text="Press Me")
button_1.bind("<Button-1>", printName) 

root.mainloop()

尝试按下我的小例子中的按钮。

答案 1 :(得分:0)

如果您希望按钮具有处理程序功能,则需要在 之前声明它使用此功能,如下所示:

def activate():
    os.system("networksetup -setairportpower airport on")

ActivateButton = Button(text="Activate", fg="green", bg="black", command=activate)

因此,您需要在脚本中切换#Activate/Deactivate command#BUTTONS部分。