__author__ = 'tsouza' import Tkinter as tk import tkFileDialog class AttributeGUI(tk.Tk): def __init__(self): tk.Tk.__init__(self) self.initialize() def initialize(self): self.title('Attribution Report') self.grid() self.input_frame = self.setup_input_frame() self.output_frame = self.setup_output_frame() self.run_frame = self.setup_run_frame() self.update() self.resizable(True, False) def setup_input_frame(self): input_frame = tk.LabelFrame(text="Input Files") input_frame.grid() row = 0 input_frame.sf_button = tk.Button(input_frame, text=u"Browse", command=self.sf_click) input_frame.sf_button.grid(column=0, row=row) input_frame.sf_label_var = tk.StringVar() input_frame.sf_label = tk.Label(input_frame, textvariable=input_frame.sf_label_var, anchor="w") input_frame.sf_label.grid(column=1, row=row, sticky='nsew') input_frame.sf_label_var.set(u"") row += 1 input_frame.dp_button = tk.Button(input_frame, text=u"Browse", command=self.dp_click) input_frame.dp_button.grid(column=0, row=row) input_frame.dp_label_var = tk.StringVar() input_frame.dp_label = tk.Label(input_frame, textvariable=input_frame.dp_label_var, anchor="w") input_frame.dp_label.grid(column=1, row=row, sticky='nsew') input_frame.dp_label_var.set(u"") input_frame.grid_columnconfigure(1, weight=1) return input_frame def sf_click(self): f = tkFileDialog.askopenfilename() self.input_frame.sf_label_var.set(f) def dp_click(self): f = tkFileDialog.askopenfilename() self.input_frame.dp_label_var.set(f) def setup_output_frame(self): output_frame = tk.LabelFrame(text="Output Directory") output_frame.grid() row = 0 output_frame.output_button = tk.Button(output_frame, text=u"Browse", command=self.output_click) output_frame.output_button.grid(column=0, row=row) output_frame.output_label_var = tk.StringVar() output_frame.sf_label = tk.Label(output_frame, textvariable=output_frame.output_label_var, anchor="w") output_frame.sf_label.grid(column=1, row=row, sticky='nsew') output_frame.output_label_var.set(u"") output_frame.grid_columnconfigure(0, weight=1) return output_frame def output_click(self): f = tkFileDialog.askdirectory() self.output_frame.output_label_var.set(f) def setup_run_frame(self): run_frame = tk.LabelFrame(text="Output Directory") run_frame.grid() row = 0 run_frame.run_button = tk.Button(run_frame, text=u"Run", command=self.run_click) run_frame.run_button.grid(column=0, row=row) run_frame.grid_columnconfigure(0, weight=1) return run_frame def run_click(self): pass def main(): app = AttributeGUI() app.mainloop() if __name__ == "__main__": main()