[Tutor] Question about GUI applications.

Nathaniel Trujillo hothottrott at gmail.com
Tue Nov 8 05:30:55 CET 2011


I just wrote the following GUI application. How do I get rid of the 7k in
the upper left hand corner and how to I put other stuff there like say a
picture of someone. Thanks for the help.

Here is the GUI application. It is called mad_lib.py.py

# Mad Lib
# Create a story based on user input
from tkinter import *
class Application(Frame):
    """ GUI application that creates a story based on user input. """
    def __init__(self, master):
        """ Initialize Frame. """
        super(Application, self).__init__(master)
        self.grid()
        self.create_widgets()
    def create_widgets(self):
        """ Create widgets to get story infomation and to display story. """
        # create instruction label
        Label(self, text = "Enter information for a new story").grid(row =
0, column = 0, columnspan = 2, sticky = W)
        # create a label and text entry for the name of a person
        Label(self, text = "Person: ").grid(row = 1, column = 0, sticky = W)
        self.person_ent = Entry(self)
        self.person_ent.grid(row = 1, column = 1, sticky = W)
        # create a label and text entry for a plural noun
        Label(self, text = "Plural Noun:").grid(row = 2, column = 0, sticky
= W)
        self.noun_ent = Entry(self)
        self.noun_ent.grid(row = 2, column = 1, sticky = W)
        # create a label and text entry for a verb
        Label(self, text = "Verb:").grid(row = 3, column = 0, sticky = W)
        self.verb_ent = Entry(self)
        self.verb_ent.grid(row = 3, column = 1, sticky = W)
        # create a label for adjectives check buttons
        Label(self, text = "Adjective(s):").grid(row = 4, column = 0,
sticky = W)
        # create itchy check button
        self.is_itchy = BooleanVar()
        Checkbutton(self, text = "itchy", variable =
self.is_itchy).grid(row = 4, column = 1, sticky = W)
        # create joyous check button
        self.is_joyous = BooleanVar()
        Checkbutton(self, text = "joyous", variable =
self.is_joyous).grid(row = 4, column = 2, sticky = W)
        # create electric check button
        self.is_electric = BooleanVar()
        Checkbutton(self, text = "electric", variable =
self.is_electric).grid(row = 4, column = 3, sticky = W)
        # create a label for body parts radio buttons
        Label(self, text = "Body Part:").grid(row = 5, column = 0, sticky =
W)
        # create variable for single body part
        self.body_part = StringVar()
        self.body_part.set(None)
        # create body part radio buttons
        body_parts = ["bellybutton", "big toe", "medulla oblongata"]
        column = 1
        for part in body_parts:
            Radiobutton(self, text = part, variable = self.body_part, value
= part).grid(row = 5, column = column, sticky = W)
            column += 1
        # create a submit button
        Button(self, text = "Click for story", command =
self.tell_story).grid(row = 6, column = 0, sticky = W)
        self.story_txt = Text(self, width = 75, height = 10, wrap = WORD)
        self.story_txt.grid(row = 7, column = 0, columnspan = 4)
    def tell_story(self):
        """ Fill text box with new story based on user input. """
        # gets values fom the GUI
        person = self.person_ent.get()
        noun = self.noun_ent.get()
        verb = self.verb_ent.get()
        adjectives = ""
        if self.is_itchy.get():
            adjectives += "itchy, "
        if self.is_joyous.get():
            adjectives += "joyous, "
        if self.is_electric.get():
            adjectives += "electric, "
        body_part = self.body_part.get()
        # create the story
        story = "The famous explorer "
        story += person
        story += " had nearly given up a life-long quest to find The Lost
City of "
        story += noun.title()
        story += " when one day, the "
        story += noun
        story += " found "
        story += person + "."
        story += "A strong, "
        story += adjectives
        story += "peculiar feeling overwhelmed the explorer. "
        story += "After all this time, the quest was finally over. A tear
came to "
        story += person + "'s "
        story += body_part + ". "
        story += "And then, the "
        story += noun
        story += " promptly devoured "
        story += person + "."
        story += "The moral of the story? Be careful what you "
        story += verb
        story += " for."
        # display the story
        self.story_txt.delete(0.0, END)
        self.story_txt.insert(0.0, story)
# main
root = Tk()
root.title("Mad Lib")
app = Application(root)
root.mainloop()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20111107/0b0ddc4c/attachment.html>


More information about the Tutor mailing list