我試圖做一個LagSwitch
使用python tkinter
,但我有一個錯誤,我無法修復,我是tkinter
新。能否請你幫忙?我的Tkinter按鈕錯誤
我的錯誤,我得到運行腳本:
ActivateButton = Button(text="Activate",fg="green", bg="black",command=activate)
NameError: name 'activate' is not defined
這是我的腳本:
#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()
我能做些什麼?我是初學者,所以我不那麼聰明。我如何改進腳本並修復我遇到的錯誤?我不明白。
我在手機上,所以我不能嘗試。如果將您的激活和停用功能移到按鈕上方,會發生什麼情況? – Scheme
由於錯誤狀態,當您在按鈕定義中使用它時,「activate」尚未定義。你以後只需要定義'activate'。所以,只需在'#BUTTONS'部分上移動'activate'和'deactivate'函數定義即可。 –
您必須定義一個函數_before_將其引用到代碼中的其他位置。這與tkinter無關,只是python的工作原理。 –