Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #
- # https://www.reddit.com/r/learnpython/comments/4ztmwg/tkinter_grid_frame_class/
- #
- import Tkinter as Tk
- class GUI(object):
- def __init__(self, root, labels):
- self.root = root
- self.labels = labels
- self.intervals_dict = {}
- self.root.title('Weather station')
- self.parent_frame = None
- self.intervals_frame = None
- self.data_frame = None
- self.filename_frame = None
- self.initialize_frames()
- self.initialize_intervals()
- self.initialize_data()
- def initialize_frames(self):
- self.parent_frame = Tk.Frame(self.root)
- self.parent_frame.grid()
- self.intervals_frame = Tk.Frame(self.parent_frame, borderwidth=3,
- relief='ridge')
- self.intervals_frame.grid(row=0, column=0, pady=5, rowspan=2, sticky='NEWS')
- self.data_frame = Tk.Frame(self.parent_frame, borderwidth=3,
- relief='ridge')
- self.data_frame.grid(row=1, column=1, sticky='NEWS', pady=5)
- self.filename_frame = Tk.Frame(self.parent_frame, borderwidth=3,
- relief='ridge')
- self.filename_frame.grid(row=0, column=1, sticky='NEWS', pady=5)
- l = Tk.Label(self.filename_frame, text='Some File Name')
- l.grid()
- def initialize_intervals(self):
- Tk.Label(self.intervals_frame, text='Save\nintervals',
- font='bold').grid(row=0, sticky='wens')
- for label in self.labels:
- lab = Tk.Label(self.intervals_frame, text=label)
- lab.grid(sticky='W')
- entry = Tk.Entry(self.intervals_frame)
- entry.grid()
- def initialize_data(self):
- Tk.Label(self.data_frame, text='Live data',
- font='bold').grid(sticky='wens')
- for label in self.labels[1:]:
- lab = Tk.Label(self.data_frame, text=label)
- lab.grid(sticky='W')
- entry = Tk.Entry(self.data_frame)
- entry.grid()
- tk = Tk.Tk()
- labels = ['Time (s)', 'Humidity (%)', 'Lux (lumen)',
- 'Temperature1 (oC)', 'Temperature2 (oC)',
- 'Pressure (kPa)']
- GUI(tk, labels)
- tk.mainloop()
Add Comment
Please, Sign In to add comment