On 1/17/2014 8:20 AM, Jean Dupont wrote:
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

1. import Tkinter as tk

Besides saving a bit of writing and reading time later, this makes any future conversion to 3.x easier.

import tkinter as tk

2. add a few spaces to demarcate blocks of code.

import time
import RPi.GPIO as GPIO

2. add a few spaces to demarcate blocks of code, such as here

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

and here

top = Tkinter.Tk()
top.geometry("600x400+310+290")

This looks strange somehow, but if it works...


label1 = Label(top,relief=RAISED,bg =
"#EFF980",font=("Helvetica",14),height = 1, width = 15)

In calls, put spaces after , but not before and after =.
For other suggestions, see
http://www.python.org/dev/peps/pep-0008/

I suspect that the above is one line in your code and the bad wrapping a result of mis-spacing. The following is also one line, but easer to read as spaces separate argument chunks

label1 = Label(top, relief=RAISED, bg="#EFF980", font=("Helvetica",14), height=1, width=15)

and the wrapping, if any, does not break up an arg chunk.

Some people advocate defining an App class, but Tk and tkinter, even though object method based, allow the straightforward imperative style you have used.

I agree with Peter: "First and foremost a program has to do what the author wants it to do. Everything else is secondary." But a bit of styling will make reading and changing easier.

--
Terry Jan Reedy


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to