from graphics import *Next create a new graphics window object, and then create gui objects to draw into this window:
# creates new GraphWin object, 500x500 pixels in size win = GraphWin("My GUI Program", 500, 500) # creates a new Circle object centered at 50,50 with a radius of 20 pixels circ = Circle(Point(50,50), 20) # invoke the setFill method of the Circle object refered to by circ circ.setFill("red") # draw the circ object to the GraphWin win circ.draw(win)Here is some information about the GraphWin object and some of the Graphics objects you can use (section 5.8 of the text contains a complete reference for the classes in the graphics library):
GraphWin(title, width, height) #Constructor-makes a new GraphWin object close() flush() # update drawing to graphics window getHeight() getWidth() # wait for mouse click and return Point obj representing click location getMouse() # check to see if a mouse click occurred, # return Point obj representing click location if it did, None if it did not checkMouse() # wait for key press and return string representing key pressed (e.g, 'q') getKey() # check to see if a key pressed, # return string representing key pressed, or None if no key pressed checkKey() setBackground(color) #Change screen coordinates setCoords(lowerLeftX, lowerLeftY, upperRightX, upperRightY)
Point(x, y) #Constructor clone() # create a new Point object that is an exact copy of this one getX() getY()Methods common to all Graphics Object classes:
draw(graphwin): # Draw the object in graphwin, which should be a # GraphWin object. A GraphicsObject may only be drawn # into one window. move(dx, dy): # move object dx units in x and dy units in y direction setFill(color): # Set interior color to color setOutline(color): # Set outline color to color setWidth(width): # Set line weight to width undraw(): # Undraw the object (i.e. hide it). clone(): # Make an exact copy of object and its properties (color, fill, etc.)
Line(p1, p2) clone() setArrow(option) getCenter() getP1() getP2() draw(graphwin) move(dx, dy) setFill(color) setOutline(color) setWidth(width)
Rectangle( p1, p2) # p1 and p2 are points for upper left lower rt clone() getCenter() getP1() getP2() draw(graphwin) move(dx, dy) setFill(color) setOutline(color) setWidth(width) undraw()
Circle(p1, radius) # p1 is a Point at the center of the circle clone() getCenter() getRadius() getP1() # returns a clone of the corresponding corner of the getP2() # circle's bounding box (opposite corners of bounding square) draw(graphwin) move(dx, dy) setFill(color) setOutline(color) setWidth(width) undraw()
Oval(p1, p2) # p1 and p2 are opposite corners of bounding rectangle clone() getCenter() getP1() getP2() draw(graphwin) move(dx, dy) setFill(color) setOutline(color) setWidth(width)
Polygon(<list of points>) # ex. triangle: Polygon ([Point(10,20), Point(30,40), Point(10,60)]) getPoints() # return a list of Points in the polygon clone() draw(graphwin) move(dx, dy) setFill(color) setOutline(color) setWidth(width) undraw()
Text(p, text) # p is center point and text is string clone() getText() setText(text) setTextColor(color) setFace(family) # set font face, ex. "arial" "courier" setSize(size) # set font size (5-36 are legal) setStyle(style) # set font style ex. "bold" "italic" draw(graphwin) move(dx, dy) setFill(color) setOutline(color) setWidth(width) undraw()
GUI object into which user can type text Entry(pt, width) # pt is anchor Point (center) getAnchor() # returns the center Point getText() # returns the current text setText(string) # sets the text to string setSize(point) # sets the found size (5-36 are legal) setStyle(style) # sets the font style setTextColor(color) # sets the text color draw(graphwin) move(dx, dy) setFill(color) setOutline(color) setWidth(width) undraw()
from time import sleep sleep(0.5) #pause for 0.5 seconds
Alternatively, the Graphics library supports a number of built-in color names. The complete list is below. Shades of grey can be spelled gray or grey. An interactive version of this color map is available by using the python shell.
$ python >>> from colorPicker import * >>> colorPicker()
alice blue 240 248 255 AliceBlue 240 248 255 antique white 250 235 215 AntiqueWhite 250 235 215 AntiqueWhite1 255 239 219 AntiqueWhite2 238 223 204 AntiqueWhite3 205 192 176 AntiqueWhite4 139 131 120 aquamarine 127 255 212 aquamarine1 127 255 212 aquamarine2 118 238 198 aquamarine3 102 205 170 aquamarine4 69 139 116 azure 240 255 255 azure1 240 255 255 azure2 224 238 238 azure3 193 205 205 azure4 131 139 139 beige 245 245 220 bisque 255 228 196 bisque1 255 228 196 bisque2 238 213 183 bisque3 205 183 158 bisque4 139 125 107 black 0 0 0 blanched almond 255 235 205 BlanchedAlmond 255 235 205 blue 0 0 255 blue violet 138 43 226 blue1 0 0 255 blue2 0 0 238 blue3 0 0 205 blue4 0 0 139 BlueViolet 138 43 226 brown 165 42 42 brown1 255 64 64 brown2 238 59 59 brown3 205 51 51 brown4 139 35 35 burlywood 222 184 135 burlywood1 255 211 155 burlywood2 238 197 145 burlywood3 205 170 125 burlywood4 139 115 85 cadet blue 95 158 160 CadetBlue 95 158 160 CadetBlue1 152 245 255 CadetBlue2 142 229 238 CadetBlue3 122 197 205 CadetBlue4 83 134 139 chartreuse 127 255 0 chartreuse1 127 255 0 chartreuse2 118 238 0 chartreuse3 102 205 0 chartreuse4 69 139 0 chocolate 210 105 30 chocolate1 255 127 36 chocolate2 238 118 33 chocolate3 205 102 29 chocolate4 139 69 19 coral 255 127 80 coral1 255 114 86 coral2 238 106 80 coral3 205 91 69 coral4 139 62 47 cornflower blue 100 149 237 CornflowerBlue 100 149 237 cornsilk 255 248 220 cornsilk1 255 248 220 cornsilk2 238 232 205 cornsilk3 205 200 177 cornsilk4 139 136 120 cyan 0 255 255 cyan1 0 255 255 cyan2 0 238 238 cyan3 0 205 205 cyan4 0 139 139 dark blue 0 0 139 dark cyan 0 139 139 dark goldenrod 184 134 11 dark gray 169 169 169 dark green 0 100 0 dark grey 169 169 169 dark khaki 189 183 107 dark magenta 139 0 139 dark olive green 85 107 47 dark orange 255 140 0 dark orchid 153 50 204 dark red 139 0 0 dark salmon 233 150 122 dark sea green 143 188 143 dark slate blue 72 61 139 dark slate gray 47 79 79 dark slate grey 47 79 79 dark turquoise 0 206 209 dark violet 148 0 211 DarkBlue 0 0 139 DarkCyan 0 139 139 DarkGoldenrod 184 134 11 DarkGoldenrod1 255 185 15 DarkGoldenrod2 238 173 14 DarkGoldenrod3 205 149 12 DarkGoldenrod4 139 101 8 DarkGray 169 169 169 DarkGreen 0 100 0 DarkGrey 169 169 169 DarkKhaki 189 183 107 DarkMagenta 139 0 139 DarkOliveGreen 85 107 47 DarkOliveGreen1 202 255 112 DarkOliveGreen2 188 238 104 DarkOliveGreen3 162 205 90 DarkOliveGreen4 110 139 61 DarkOrange 255 140 0 DarkOrange1 255 127 0 DarkOrange2 238 118 0 DarkOrange3 205 102 0 DarkOrange4 139 69 0 DarkOrchid 153 50 204 DarkOrchid1 191 62 255 DarkOrchid2 178 58 238 DarkOrchid3 154 50 205 DarkOrchid4 104 34 139 DarkRed 139 0 0 DarkSalmon 233 150 122 DarkSeaGreen 143 188 143 DarkSeaGreen1 193 255 193 DarkSeaGreen2 180 238 180 DarkSeaGreen3 155 205 155 DarkSeaGreen4 105 139 105 DarkSlateBlue 72 61 139 DarkSlateGray 47 79 79 DarkSlateGray1 151 255 255 DarkSlateGray2 141 238 238 DarkSlateGray3 121 205 205 DarkSlateGray4 82 139 139 DarkSlateGrey 47 79 79 DarkTurquoise 0 206 209 DarkViolet 148 0 211 deep pink 255 20 147 deep sky blue 0 191 255 DeepPink 255 20 147 DeepPink1 255 20 147 DeepPink2 238 18 137 DeepPink3 205 16 118 DeepPink4 139 10 80 DeepSkyBlue 0 191 255 DeepSkyBlue1 0 191 255 DeepSkyBlue2 0 178 238 DeepSkyBlue3 0 154 205 DeepSkyBlue4 0 104 139 dim gray 105 105 105 dim grey 105 105 105 DimGray 105 105 105 DimGrey 105 105 105 dodger blue 30 144 255 DodgerBlue 30 144 255 DodgerBlue1 30 144 255 DodgerBlue2 28 134 238 DodgerBlue3 24 116 205 DodgerBlue4 16 78 139 firebrick 178 34 34 firebrick1 255 48 48 firebrick2 238 44 44 firebrick3 205 38 38 firebrick4 139 26 26 floral white 255 250 240 FloralWhite 255 250 240 forest green 34 139 34 ForestGreen 34 139 34 gainsboro 220 220 220 ghost white 248 248 255 GhostWhite 248 248 255 gold 255 215 0 gold1 255 215 0 gold2 238 201 0 gold3 205 173 0 gold4 139 117 0 goldenrod 218 165 32 goldenrod1 255 193 37 goldenrod2 238 180 34 goldenrod3 205 155 29 goldenrod4 139 105 20 green 0 255 0 green yellow 173 255 47 green1 0 255 0 green2 0 238 0 green3 0 205 0 green4 0 139 0 GreenYellow 173 255 47 grey 190 190 190 grey0 0 0 0 grey1 3 3 3 grey2 5 5 5 grey3 8 8 8 grey4 10 10 10 grey5 13 13 13 grey6 15 15 15 grey7 18 18 18 grey8 20 20 20 grey9 23 23 23 grey10 26 26 26 grey11 28 28 28 grey12 31 31 31 grey13 33 33 33 grey14 36 36 36 grey15 38 38 38 grey16 41 41 41 grey17 43 43 43 grey18 46 46 46 grey19 48 48 48 grey20 51 51 51 grey21 54 54 54 grey22 56 56 56 grey23 59 59 59 grey24 61 61 61 grey25 64 64 64 grey26 66 66 66 grey27 69 69 69 grey28 71 71 71 grey29 74 74 74 grey30 77 77 77 grey31 79 79 79 grey32 82 82 82 grey33 84 84 84 grey34 87 87 87 grey35 89 89 89 grey36 92 92 92 grey37 94 94 94 grey38 97 97 97 grey39 99 99 99 grey40 102 102 102 grey41 105 105 105 grey42 107 107 107 grey43 110 110 110 grey44 112 112 112 grey45 115 115 115 grey46 117 117 117 grey47 120 120 120 grey48 122 122 122 grey49 125 125 125 grey50 127 127 127 grey51 130 130 130 grey52 133 133 133 grey53 135 135 135 grey54 138 138 138 grey55 140 140 140 grey56 143 143 143 grey57 145 145 145 grey58 148 148 148 grey59 150 150 150 grey60 153 153 153 grey61 156 156 156 grey62 158 158 158 grey63 161 161 161 grey64 163 163 163 grey65 166 166 166 grey66 168 168 168 grey67 171 171 171 grey68 173 173 173 grey69 176 176 176 grey70 179 179 179 grey71 181 181 181 grey72 184 184 184 grey73 186 186 186 grey74 189 189 189 grey75 191 191 191 grey76 194 194 194 grey77 196 196 196 grey78 199 199 199 grey79 201 201 201 grey80 204 204 204 grey81 207 207 207 grey82 209 209 209 grey83 212 212 212 grey84 214 214 214 grey85 217 217 217 grey86 219 219 219 grey87 222 222 222 grey88 224 224 224 grey89 227 227 227 grey90 229 229 229 grey91 232 232 232 grey92 235 235 235 grey93 237 237 237 grey94 240 240 240 grey95 242 242 242 grey96 245 245 245 grey97 247 247 247 grey98 250 250 250 grey99 252 252 252 grey100 255 255 255 honeydew 240 255 240 honeydew1 240 255 240 honeydew2 224 238 224 honeydew3 193 205 193 honeydew4 131 139 131 hot pink 255 105 180 HotPink 255 105 180 HotPink1 255 110 180 HotPink2 238 106 167 HotPink3 205 96 144 HotPink4 139 58 98 indian red 205 92 92 IndianRed 205 92 92 IndianRed1 255 106 106 IndianRed2 238 99 99 IndianRed3 205 85 85 IndianRed4 139 58 58 ivory 255 255 240 ivory1 255 255 240 ivory2 238 238 224 ivory3 205 205 193 ivory4 139 139 131 khaki 240 230 140 khaki1 255 246 143 khaki2 238 230 133 khaki3 205 198 115 khaki4 139 134 78 lavender 230 230 250 lavender blush 255 240 245 LavenderBlush 255 240 245 LavenderBlush1 255 240 245 LavenderBlush2 238 224 229 LavenderBlush3 205 193 197 LavenderBlush4 139 131 134 lawn green 124 252 0 LawnGreen 124 252 0 lemon chiffon 255 250 205 LemonChiffon 255 250 205 LemonChiffon1 255 250 205 LemonChiffon2 238 233 191 LemonChiffon3 205 201 165 LemonChiffon4 139 137 112 light blue 173 216 230 light coral 240 128 128 light cyan 224 255 255 light goldenrod 238 221 130 light goldenrod yellow 250 250 210 light gray 211 211 211 light green 144 238 144 light grey 211 211 211 light pink 255 182 193 light salmon 255 160 122 light sea green 32 178 170 light sky blue 135 206 250 light slate blue 132 112 255 light slate gray 119 136 153 light slate grey 119 136 153 light steel blue 176 196 222 light yellow 255 255 224 LightBlue 173 216 230 LightBlue1 191 239 255 LightBlue2 178 223 238 LightBlue3 154 192 205 LightBlue4 104 131 139 LightCoral 240 128 128 LightCyan 224 255 255 LightCyan1 224 255 255 LightCyan2 209 238 238 LightCyan3 180 205 205 LightCyan4 122 139 139 LightGoldenrod 238 221 130 LightGoldenrod1 255 236 139 LightGoldenrod2 238 220 130 LightGoldenrod3 205 190 112 LightGoldenrod4 139 129 76 LightGoldenrodYellow 250 250 210 LightGray 211 211 211 LightGreen 144 238 144 LightGrey 211 211 211 LightPink 255 182 193 LightPink1 255 174 185 LightPink2 238 162 173 LightPink3 205 140 149 LightPink4 139 95 101 LightSalmon 255 160 122 LightSalmon1 255 160 122 LightSalmon2 238 149 114 LightSalmon3 205 129 98 LightSalmon4 139 87 66 LightSeaGreen 32 178 170 LightSkyBlue 135 206 250 LightSkyBlue1 176 226 255 LightSkyBlue2 164 211 238 LightSkyBlue3 141 182 205 LightSkyBlue4 96 123 139 LightSlateBlue 132 112 255 LightSlateGray 119 136 153 LightSlateGrey 119 136 153 LightSteelBlue 176 196 222 LightSteelBlue1 202 225 255 LightSteelBlue2 188 210 238 LightSteelBlue3 162 181 205 LightSteelBlue4 110 123 139 LightYellow 255 255 224 LightYellow1 255 255 224 LightYellow2 238 238 209 LightYellow3 205 205 180 LightYellow4 139 139 122 lime green 50 205 50 LimeGreen 50 205 50 linen 250 240 230 magenta 255 0 255 magenta1 255 0 255 magenta2 238 0 238 magenta3 205 0 205 magenta4 139 0 139 maroon 176 48 96 maroon1 255 52 179 maroon2 238 48 167 maroon3 205 41 144 maroon4 139 28 98 medium aquamarine 102 205 170 medium blue 0 0 205 medium orchid 186 85 211 medium purple 147 112 219 medium sea green 60 179 113 medium slate blue 123 104 238 medium spring green 0 250 154 medium turquoise 72 209 204 medium violet red 199 21 133 MediumAquamarine 102 205 170 MediumBlue 0 0 205 MediumOrchid 186 85 211 MediumOrchid1 224 102 255 MediumOrchid2 209 95 238 MediumOrchid3 180 82 205 MediumOrchid4 122 55 139 MediumPurple 147 112 219 MediumPurple1 171 130 255 MediumPurple2 159 121 238 MediumPurple3 137 104 205 MediumPurple4 93 71 139 MediumSeaGreen 60 179 113 MediumSlateBlue 123 104 238 MediumSpringGreen 0 250 154 MediumTurquoise 72 209 204 MediumVioletRed 199 21 133 midnight blue 25 25 112 MidnightBlue 25 25 112 mint cream 245 255 250 MintCream 245 255 250 misty rose 255 228 225 MistyRose 255 228 225 MistyRose1 255 228 225 MistyRose2 238 213 210 MistyRose3 205 183 181 MistyRose4 139 125 123 moccasin 255 228 181 navajo white 255 222 173 NavajoWhite 255 222 173 NavajoWhite1 255 222 173 NavajoWhite2 238 207 161 NavajoWhite3 205 179 139 NavajoWhite4 139 121 94 navy 0 0 128 navy blue 0 0 128 NavyBlue 0 0 128 old lace 253 245 230 OldLace 253 245 230 olive drab 107 142 35 OliveDrab 107 142 35 OliveDrab1 192 255 62 OliveDrab2 179 238 58 OliveDrab3 154 205 50 OliveDrab4 105 139 34 orange 255 165 0 orange red 255 69 0 orange1 255 165 0 orange2 238 154 0 orange3 205 133 0 orange4 139 90 0 OrangeRed 255 69 0 OrangeRed1 255 69 0 OrangeRed2 238 64 0 OrangeRed3 205 55 0 OrangeRed4 139 37 0 orchid 218 112 214 orchid1 255 131 250 orchid2 238 122 233 orchid3 205 105 201 orchid4 139 71 137 pale goldenrod 238 232 170 pale green 152 251 152 pale turquoise 175 238 238 pale violet red 219 112 147 PaleGoldenrod 238 232 170 PaleGreen 152 251 152 PaleGreen1 154 255 154 PaleGreen2 144 238 144 PaleGreen3 124 205 124 PaleGreen4 84 139 84 PaleTurquoise 175 238 238 PaleTurquoise1 187 255 255 PaleTurquoise2 174 238 238 PaleTurquoise3 150 205 205 PaleTurquoise4 102 139 139 PaleVioletRed 219 112 147 PaleVioletRed1 255 130 171 PaleVioletRed2 238 121 159 PaleVioletRed3 205 104 127 PaleVioletRed4 139 71 93 papaya whip 255 239 213 PapayaWhip 255 239 213 peach puff 255 218 185 PeachPuff 255 218 185 PeachPuff1 255 218 185 PeachPuff2 238 203 173 PeachPuff3 205 175 149 PeachPuff4 139 119 101 peru 205 133 63 pink 255 192 203 pink1 255 181 197 pink2 238 169 184 pink3 205 145 158 pink4 139 99 108 plum 221 160 221 plum1 255 187 255 plum2 238 174 238 plum3 205 150 205 plum4 139 102 139 powder blue 176 224 230 PowderBlue 176 224 230 purple 160 32 240 purple1 155 48 255 purple2 145 44 238 purple3 125 38 205 purple4 85 26 139 red 255 0 0 red1 255 0 0 red2 238 0 0 red3 205 0 0 red4 139 0 0 rosy brown 188 143 143 RosyBrown 188 143 143 RosyBrown1 255 193 193 RosyBrown2 238 180 180 RosyBrown3 205 155 155 RosyBrown4 139 105 105 royal blue 65 105 225 RoyalBlue 65 105 225 RoyalBlue1 72 118 255 RoyalBlue2 67 110 238 RoyalBlue3 58 95 205 RoyalBlue4 39 64 139 saddle brown 139 69 19 SaddleBrown 139 69 19 salmon 250 128 114 salmon1 255 140 105 salmon2 238 130 98 salmon3 205 112 84 salmon4 139 76 57 sandy brown 244 164 96 SandyBrown 244 164 96 sea green 46 139 87 SeaGreen 46 139 87 SeaGreen1 84 255 159 SeaGreen2 78 238 148 SeaGreen3 67 205 128 SeaGreen4 46 139 87 seashell 255 245 238 seashell1 255 245 238 seashell2 238 229 222 seashell3 205 197 191 seashell4 139 134 130 sienna 160 82 45 sienna1 255 130 71 sienna2 238 121 66 sienna3 205 104 57 sienna4 139 71 38 sky blue 135 206 235 SkyBlue 135 206 235 SkyBlue1 135 206 255 SkyBlue2 126 192 238 SkyBlue3 108 166 205 SkyBlue4 74 112 139 slate blue 106 90 205 slate gray 112 128 144 slate grey 112 128 144 SlateBlue 106 90 205 SlateBlue1 131 111 255 SlateBlue2 122 103 238 SlateBlue3 105 89 205 SlateBlue4 71 60 139 SlateGray 112 128 144 SlateGray1 198 226 255 SlateGray2 185 211 238 SlateGray3 159 182 205 SlateGray4 108 123 139 SlateGrey 112 128 144 snow 255 250 250 snow1 255 250 250 snow2 238 233 233 snow3 205 201 201 snow4 139 137 137 spring green 0 255 127 SpringGreen 0 255 127 SpringGreen1 0 255 127 SpringGreen2 0 238 118 SpringGreen3 0 205 102 SpringGreen4 0 139 69 steel blue 70 130 180 SteelBlue 70 130 180 SteelBlue1 99 184 255 SteelBlue2 92 172 238 SteelBlue3 79 148 205 SteelBlue4 54 100 139 tan 210 180 140 tan1 255 165 79 tan2 238 154 73 tan3 205 133 63 tan4 139 90 43 thistle 216 191 216 thistle1 255 225 255 thistle2 238 210 238 thistle3 205 181 205 thistle4 139 123 139 tomato 255 99 71 tomato1 255 99 71 tomato2 238 92 66 tomato3 205 79 57 tomato4 139 54 38 turquoise 64 224 208 turquoise1 0 245 255 turquoise2 0 229 238 turquoise3 0 197 205 turquoise4 0 134 139 violet 238 130 238 violet red 208 32 144 VioletRed 208 32 144 VioletRed1 255 62 150 VioletRed2 238 58 140 VioletRed3 205 50 120 VioletRed4 139 34 82 wheat 245 222 179 wheat1 255 231 186 wheat2 238 216 174 wheat3 205 186 150 wheat4 139 126 102 white 255 255 255 white smoke 245 245 245 WhiteSmoke 245 245 245 yellow 255 255 0 yellow green 154 205 50 yellow1 255 255 0 yellow2 238 238 0 yellow3 205 205 0 yellow4 139 139 0 YellowGreen 154 205 50