2015-12-27 2 views
-2

Моя цель - создать приложение, которое я могу использовать для управления роботом через XBee. Прямо сейчас у меня возникают проблемы с назначением команд кнопкам. Команда запускается, когда программа запускается, и команда не запускается, когда я нажимаю на нее. Посмотрите:Проблемы с командами кнопок

############################################################ 
from Tkinter import * 
import serial 
import sys 
from xbee import XBee 
#################### 
def sayToggledLightsOn(): 
testlabel = Label(text ='Hello world').pack() 
#print('Toggled Lights On') 


def sayToggledLightsOff(): 
    print('Toggled Lights Off') 

root = Tk() 


width, height = root.winfo_screenwidth(), root.winfo_screenheight() 
root.geometry("%dx%d+0+0" % (width, height)) 

root.title("Simple GUI") 


serial_port ='/dev/cu.usbserial-DA01QWR0', 38400 
xbee = XBee(serial_port) 
#################### 
buttonToggleLightsOn = Button(text='Toggle Lights On', command = sayToggledLightsOn()).pack() 
buttonToggleLightsOff = Button(text='Toggle Lights Off', command = sayToggledLightsOff()).pack() 
root.mainloop() 
root.destroy() 
############################################################ 

ответ

0

Вы должны удалить() за именем def. Когда вы вводите команду = defname(), функция будет запущена сразу же после запуска программы, когда вы введете команду = defname, функция будет выполнена, когда кто-то нажимает кнопку.

Смежные вопросы