Dear all, I made a simple gui with tkinter. I can imagine there are things which I did which are "not optimal". So what I ask is to comment on my code preferable with snippets of code which show how to do improve my code. #!/usr/bin/env python import Tkinter import time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(26,GPIO.OUT) GPIO.setup(24,GPIO.OUT) #hardware : connect 2 leds: #board-pin 26 on/off led; control with buttons #board-pin 24 led with pwm dimming and frequency; control via sliders top = Tkinter.Tk() top.geometry("600x400+310+290") var1 = DoubleVar() var2 = DoubleVar() i=0 p=GPIO.PWM(24,1) p.start(50) def btn_on_cmd(): text3.configure(bg = "#00FF00") text3.delete(0.1,END) text3.insert("0.1","ON ") GPIO.output(26,True) def btn_off_cmd(): text3.configure(bg = "#FF4000") text3.delete(0.1,END) text3.insert("0.1","OFF") GPIO.output(26, False) def timer0(): global i i=i+1 text1.delete(0.1,END) text1.insert(4.2,"Timer: " + str(i)) label1.configure(text=time.strftime("%H:%M:%S")) top.after(1000, timer0) def Set_PWM(var1): DC = float(var1) p.ChangeDutyCycle(DC) def Set_FREQ(var2): FR = float(var2) p.ChangeFrequency(FR) btn_on = Button(top, text ="On", command = btn_on_cmd) btn_on.place(x=10,y=100) btn_off = Button(top, text ="Off", command = btn_off_cmd) btn_off.place(x=100,y=100) text1 =Text(top, bg = "#009BFF", font=("Helvetica",14), height = 1, width = 15) text1.place(x=5,y=5) text3=Text(top, bg = "red", font=("Helvetica",12),height = 1, width = 4) text3.place(x=60,y=60) label1 = Label(top,relief=RAISED,bg = "#EFF980",font=("Helvetica",14),height = 1, width = 15) label1.place(x=5,y=350) label2= Label(top,relief=RAISED,bg = "#BFBFBF",font=("Helvetica",10),height = 1, text= "Freq (Hz)") label2.place(x=420,y=320) label3= Label(top,relief=RAISED,bg = "#BFBFBF",font=("Helvetica",10),height = 1, text= "DC %") label3.place(x=520,y=320) slider1 = Scale(top,variable = var1,length = 300,resolution = 1,command = Set_PWM) slider1 = Scale(top,variable = var1,length = 300,resolution = 1,command = Set_PWM) slider1.place(x=500,y=5) slider1.set(50) slider2 = Scale(top,variable = var2,length = 300,from_= 0.1, to = 50,resolution = 0.1,command = Set_FREQ) slider2.place(x=400,y=5) slider2.set(2) timer0() top.mainloop() GPIO.cleanup()
thanks in advance jean -- https://mail.python.org/mailman/listinfo/python-list