SlideShare a Scribd company logo
Introduction to Graphics
INTRODUCTION TO TKINTER
• UP TO THIS POINT WE HAVE BEEN CREATING CONSOLE BASED APPLICATIONS.
• NOW WE ARE GOING TO COMBINE THAT KNOWLEDGE WITH THE OBJECTS WE
STUDIED IN APPINVENTOR.
• WE WILL BE USING THE MODULE TKINTER
• THE TKINTER MODULE IS COMPRISED OF NUMEROUS CLASSES TO CREATE GUI
WIDGETS.
• CODE: FROM TKINTER IMPORT *
CREATING A GRAPHICAL ENVIRONMENT
• THERE ARE 2 MAIN COMPONENTS TO A GUI.
• 1. THE WINDOW/CONTAINER
• 2. THE WIDGETS
• LABELS, BUTTONS, TEXT BOXES, RADIO BUTTONS, IMAGES, ETC.
CREATING A WINDOW AND LABEL
• LET’S BEGIN BY CREATING THE WINDOW, WHICH IS NOTHING MORE THAN A
CONTAINER FOR OUR WIDGETS.
• THE EQUIVALENT TO A SCREEN IN APPINVENTOR
• CODE: WINDOWNAME = TK()
• HOWEVER, THIS WINDOW WILL NOT DO MUCH FOR US UNLESS WE PACK IT WITH
SOME CONTENT.
CREATING A LABEL
• A LABEL IS A WIDGET THAT DISPLAYS INFORMATION. JUST LIKE IN APPINVENTOR.
• CODE: LABELNAME = LABEL(WINDOWNAME, OPTIONS,…)
• OPTIONS INCLUDE:
• TEXT, IMAGES, COLORS, FONT, JUSTIFY, ETC…
• EX.
LBLPROMPT = LABEL(WIND, TEXT =“ HEY”, BG = “RED”)
• AFTER YOU CREATE THE LABEL YOU HAVE TO PUT/PACK IT IN THE WINDOW.
• CODE: LABELNAME.PACK()
• NOTE: THERE ARE NUMEROUS OPTIONS TO EXPLORE
THE EVENT LOOP AND PROCESSING EVENTS
• GUI’S ARE EVENT DRIVEN, MEANING THEY RUN WHEN SOME INTERACTION FROM THE
USER OCCURS.
• TO DETERMINE WHEN AN INTERACTION OCCURS YOU HAVE TO CREATE A LISTENER
FOR EVERY PROGRAMMABLE ACTION THERE IS.
• PYTHON MAKES THIS A BIT EASIER BY USING AN EVENT LOOP TO LISTEN FOR ANY
INTERACTION.
• CODE: WINDOWNAME.MAINLOOP()
EXAMPLE
• QUESTION: HOW CAN WE MODIFY THE BELOW PROGRAM TO PROMPT THE USER TO
ENTER A NAME AND THEN DISPLAY A WELCOME MESSAGE.
IMPORT TKINTER
WIND = TK()
LBLNAME = LABEL(WIND, TEXT = “HEY YOU!”, FG = “BLUE”, FONT =(“HELVETICA, 16))
LBLNAME.PACK()
WIND.MAINLOOP()
THE WIDGET CLASSES
• WHEN CREATING A WIDGET THERE ARE
SPECIFIC PARAMETERS FOR EACH TO SPECIFY.
• WHERE TO PLACE IT
• PROPERTIES
• VARIABLES TO SET, ETC.
Widget Class Description
Button A simple button, used to execute a command.
Checkbutton Clicking a check button toggles between the values.
Radiobutton Clicking a radio button sets the variable to that value,
and clears all other radio buttons associated with the
same variable.
Entry A text entry field, a.k.a a text field or a text box.
Frame A container widget for containing other widgets.
Menu A menu pane, used to implement pull down and popup menus.
Menubutton A menu button, used to implement pull down menus.
Label Displays a text or an image.
Message Displays a text. Similar to the label widget, but can
automatically wrap text to a given width or aspect ratio.
Text Formatted text display. Allows you to display and edit
text with various styles and attributes. Also supports
embedded images and windows.
Scale Allows you to set a numerical value by dragging a
"slider".
Canvas Structured graphics, used to draw graphs and plots,
create graphics editors, and to implement custom widgets.
Toplevel A container widget displayed as a separate, top-level
window.
CHANGING PROPERTIES OF WIDGETS
• COLOR AND FONT
• TO SPECIFY A COLOR, YOU CAN EITHER USE A COLOR NAME SUCH AS RED, YELLOW, GREEN, BLUE, WHITE, BLACK, PURPLE, ETC, OR EXPLICITLY SPECIFY THE RED, GREEN, AND BLUE
(RGB) COLOR COMPONENTS USING A STRING #RRGGBB, WHERE RR, GG, BB ARE HEXADECIMAL REPRESENTATIONS OF THE RED, GREEN AND BLUE VALUES, RESPECTIVELY.
• "TIMES 10 BOLD"
• "HELVETICA 10 BOLD ITALIC"
• "COURIER NEW 20 BOLD ITALIC"
• "COURIER NEW 20 BOLD ITALIC OVER STRIKE UNDERLINE"
• TEXT PROPERTIES
• THE TEXT IN A LABEL AND A BUTTON IS CENTERED
BY DEFAULT. YOU CAN CHANGE IT BY USING THE JUSTIFY
OPTION WITH VALUES LEFT, CENTER, OR RIGHT. YOU
CAN ALSO DISPLAY THE TEXT IN MULTIPLE LINES BY
INSERTING THE NEWLINE CHARACTER N TO SEPARATE TEXTS.
• MOUSE CURSOR
• YOU CAN SET A MOUSE CURSOR BY USING THE CURSOR OPTION WITH VALUES SUCH AS "ARROW" (DEFAULT), "CIRCLE", "CROSS" "PLUS", ETC.
• CODE: WIDGETNAME["PROPERTYNAME] = NEWPROPERTYVALUE
EXAMPLE
import tkinter
def btnNameProcess(name):
lblName["text"]= "Hey " + name
wind = tkinter.Tk()
wind.title("GUI Test Program")
wind.minsize(200,200)
lblName = tkinter.Label(wind, text ="Hey You", fg ="blue", bg = "#fff")
enterName = tkinter.StringVar() entName = tkinter.Entry(wind,text = "Me")
btnName = tkinter.Button(wind, text = "Press Me", command = lambda: btnNameProcess(entName.get()))
lblName.pack()
entName.pack()
btnName.pack()
wind.mainloop()

More Related Content

Similar to Introduction to Graphics (20)

PPTX
A Comprehensive Overview of Encoder and Decoder Architectures in Deep Learnin...
ShubhamMittal569818
 
PPTX
Autoencoders in Computer Vision: A Deep Learning Approach for Image Denoising...
ShubhamMittal569818
 
KEY
CodeStock :: Introduction To MacRuby and HotCocoa
Doc Norton
 
PDF
Visual Basic IDE Introduction
Ahllen Javier
 
PDF
Visual Basic IDE Intro.pdf
sheenmarie0212
 
PDF
Unit 5-Introduction of GUI Programming-Part1.pdf
Harsha Patil
 
PDF
Cassandra and materialized views
Grzegorz Duda
 
PPTX
Algorithm Design and Problem Solving [Autosaved].pptx
KaavyaGaur1
 
PPTX
Visual basic
KavithaAlagumalai
 
PDF
QGIS Tutorial 1
niloyghosh1984
 
PPTX
Visual Basic.pptx
KavithaAlagumalai
 
PPTX
vingautosaved-230525024624-6a6fb3b2.pptx
Orin18
 
PDF
Feature Engineering
HJ van Veen
 
PDF
Oh the compilers you'll build
Mark Stoodley
 
PDF
Day 17.pdf
vikashyadav23235277
 
PPTX
Basics of Auto Computer Aided Drafting .pptx
Krunal Thanki
 
PPTX
3 Program Development Life Cycle.aaaaapptx
EG20910848921ISAACDU
 
PDF
Unreal Engine Basics 05 - User Interface
Nick Pruehs
 
PPTX
autocadppt.pptx
NannuJoshi
 
PPTX
microbit Microbit programming Microbit programming
ssuser5feb2c1
 
A Comprehensive Overview of Encoder and Decoder Architectures in Deep Learnin...
ShubhamMittal569818
 
Autoencoders in Computer Vision: A Deep Learning Approach for Image Denoising...
ShubhamMittal569818
 
CodeStock :: Introduction To MacRuby and HotCocoa
Doc Norton
 
Visual Basic IDE Introduction
Ahllen Javier
 
Visual Basic IDE Intro.pdf
sheenmarie0212
 
Unit 5-Introduction of GUI Programming-Part1.pdf
Harsha Patil
 
Cassandra and materialized views
Grzegorz Duda
 
Algorithm Design and Problem Solving [Autosaved].pptx
KaavyaGaur1
 
Visual basic
KavithaAlagumalai
 
QGIS Tutorial 1
niloyghosh1984
 
Visual Basic.pptx
KavithaAlagumalai
 
vingautosaved-230525024624-6a6fb3b2.pptx
Orin18
 
Feature Engineering
HJ van Veen
 
Oh the compilers you'll build
Mark Stoodley
 
Basics of Auto Computer Aided Drafting .pptx
Krunal Thanki
 
3 Program Development Life Cycle.aaaaapptx
EG20910848921ISAACDU
 
Unreal Engine Basics 05 - User Interface
Nick Pruehs
 
autocadppt.pptx
NannuJoshi
 
microbit Microbit programming Microbit programming
ssuser5feb2c1
 

More from primeteacher32 (20)

PPT
Software Development Life Cycle
primeteacher32
 
PPTX
Variable Scope
primeteacher32
 
PPTX
Returning Data
primeteacher32
 
PPTX
Intro to Functions
primeteacher32
 
PPTX
Introduction to GUIs with guizero
primeteacher32
 
PPTX
Function Parameters
primeteacher32
 
PPTX
Nested Loops
primeteacher32
 
PPT
Conditional Loops
primeteacher32
 
PPTX
Introduction to Repetition Structures
primeteacher32
 
PPTX
Input Validation
primeteacher32
 
PPTX
Windows File Systems
primeteacher32
 
PPTX
Nesting Conditionals
primeteacher32
 
PPTX
Conditionals
primeteacher32
 
PPT
Intro to Python with GPIO
primeteacher32
 
PPTX
Variables and Statements
primeteacher32
 
PPTX
Variables and User Input
primeteacher32
 
PPT
Intro to Python
primeteacher32
 
PPTX
Raspberry Pi
primeteacher32
 
PPT
Hardware vs. Software Presentations
primeteacher32
 
PPTX
Block chain security
primeteacher32
 
Software Development Life Cycle
primeteacher32
 
Variable Scope
primeteacher32
 
Returning Data
primeteacher32
 
Intro to Functions
primeteacher32
 
Introduction to GUIs with guizero
primeteacher32
 
Function Parameters
primeteacher32
 
Nested Loops
primeteacher32
 
Conditional Loops
primeteacher32
 
Introduction to Repetition Structures
primeteacher32
 
Input Validation
primeteacher32
 
Windows File Systems
primeteacher32
 
Nesting Conditionals
primeteacher32
 
Conditionals
primeteacher32
 
Intro to Python with GPIO
primeteacher32
 
Variables and Statements
primeteacher32
 
Variables and User Input
primeteacher32
 
Intro to Python
primeteacher32
 
Raspberry Pi
primeteacher32
 
Hardware vs. Software Presentations
primeteacher32
 
Block chain security
primeteacher32
 
Ad

Recently uploaded (20)

PPTX
unit2_cdunit2_cdunit2_cdunit2_cdunit2_cd.pptx
shella20221
 
PDF
Student Visa vs Work Visa: Which Is Right for You? | Amit Kakkar Easy Visa
Amit Kakkar
 
PPTX
Quattro Resourcing - Recruitment that works for you
neilsimon919
 
PPTX
PPT Lapkas helminthiasiiiiiiiiiiiiis.pptx
ratnaernawati4
 
PPTX
beforjkkkvbjkklkccghjjjkjjjjjje after.pptx
JayeshTaneja4
 
PPTX
opportunities in biophysics for Bsc.pptx
MukeshPimpliskar2
 
PPTX
Python-vs-Core-Java-A-Comparative-Deep-Dive.pptx.pptx
sachinkesharwani503
 
PPTX
How To Write A ResumeCV - Resume Writing Tips
yeasinArafath6
 
PDF
RECJUN25 ADV abul kalam azad technical university
CKPandey1
 
PPTX
Tags_of_Chaman_Lifestyle Balochistan.pptx
MuhammadAkramKhan9
 
PPT
HUUHAA.ppt NHVGDGVBXCDGFBVGCCDJBVGDGHHVXHGVCXX
ssuser0b1c0e
 
PDF
FUPRE Career Coaches Training Programme - By Sylvester EBHONU
Sylvester Ebhonu
 
PDF
Left Holding the Bag sequence 2 Storyboard by Mark G
MarkGalez
 
PPTX
Mastering-Communication-Your-Essential-Skills-Toolkit.pptx.pptx
rahulkesharwani642
 
PDF
Connected for Success_ How Unified Communications Are Shaping Tomorrow's Work...
Pacific Office Automation
 
PDF
The Rise of Modern Entrepreneurs_ A New Style of Leadership by Doug Pitassi.pdf
Doug Pitassi
 
PPTX
Guidelines for Placement of Grade 10 Learners 5.pptx
csolutionske
 
PPTX
网上可查学历澳大利亚国家戏剧艺术学院毕业证学历证书在线购买|NIDAOffer
1cz3lou8
 
PPTX
TLE WEEK 2lessonpara sa mga estufyante nga diba
angelagyanpiol
 
DOCX
The Basics of British Sign Language.docx
biloguard123
 
unit2_cdunit2_cdunit2_cdunit2_cdunit2_cd.pptx
shella20221
 
Student Visa vs Work Visa: Which Is Right for You? | Amit Kakkar Easy Visa
Amit Kakkar
 
Quattro Resourcing - Recruitment that works for you
neilsimon919
 
PPT Lapkas helminthiasiiiiiiiiiiiiis.pptx
ratnaernawati4
 
beforjkkkvbjkklkccghjjjkjjjjjje after.pptx
JayeshTaneja4
 
opportunities in biophysics for Bsc.pptx
MukeshPimpliskar2
 
Python-vs-Core-Java-A-Comparative-Deep-Dive.pptx.pptx
sachinkesharwani503
 
How To Write A ResumeCV - Resume Writing Tips
yeasinArafath6
 
RECJUN25 ADV abul kalam azad technical university
CKPandey1
 
Tags_of_Chaman_Lifestyle Balochistan.pptx
MuhammadAkramKhan9
 
HUUHAA.ppt NHVGDGVBXCDGFBVGCCDJBVGDGHHVXHGVCXX
ssuser0b1c0e
 
FUPRE Career Coaches Training Programme - By Sylvester EBHONU
Sylvester Ebhonu
 
Left Holding the Bag sequence 2 Storyboard by Mark G
MarkGalez
 
Mastering-Communication-Your-Essential-Skills-Toolkit.pptx.pptx
rahulkesharwani642
 
Connected for Success_ How Unified Communications Are Shaping Tomorrow's Work...
Pacific Office Automation
 
The Rise of Modern Entrepreneurs_ A New Style of Leadership by Doug Pitassi.pdf
Doug Pitassi
 
Guidelines for Placement of Grade 10 Learners 5.pptx
csolutionske
 
网上可查学历澳大利亚国家戏剧艺术学院毕业证学历证书在线购买|NIDAOffer
1cz3lou8
 
TLE WEEK 2lessonpara sa mga estufyante nga diba
angelagyanpiol
 
The Basics of British Sign Language.docx
biloguard123
 
Ad

Introduction to Graphics

  • 2. INTRODUCTION TO TKINTER • UP TO THIS POINT WE HAVE BEEN CREATING CONSOLE BASED APPLICATIONS. • NOW WE ARE GOING TO COMBINE THAT KNOWLEDGE WITH THE OBJECTS WE STUDIED IN APPINVENTOR. • WE WILL BE USING THE MODULE TKINTER • THE TKINTER MODULE IS COMPRISED OF NUMEROUS CLASSES TO CREATE GUI WIDGETS. • CODE: FROM TKINTER IMPORT *
  • 3. CREATING A GRAPHICAL ENVIRONMENT • THERE ARE 2 MAIN COMPONENTS TO A GUI. • 1. THE WINDOW/CONTAINER • 2. THE WIDGETS • LABELS, BUTTONS, TEXT BOXES, RADIO BUTTONS, IMAGES, ETC.
  • 4. CREATING A WINDOW AND LABEL • LET’S BEGIN BY CREATING THE WINDOW, WHICH IS NOTHING MORE THAN A CONTAINER FOR OUR WIDGETS. • THE EQUIVALENT TO A SCREEN IN APPINVENTOR • CODE: WINDOWNAME = TK() • HOWEVER, THIS WINDOW WILL NOT DO MUCH FOR US UNLESS WE PACK IT WITH SOME CONTENT.
  • 5. CREATING A LABEL • A LABEL IS A WIDGET THAT DISPLAYS INFORMATION. JUST LIKE IN APPINVENTOR. • CODE: LABELNAME = LABEL(WINDOWNAME, OPTIONS,…) • OPTIONS INCLUDE: • TEXT, IMAGES, COLORS, FONT, JUSTIFY, ETC… • EX. LBLPROMPT = LABEL(WIND, TEXT =“ HEY”, BG = “RED”) • AFTER YOU CREATE THE LABEL YOU HAVE TO PUT/PACK IT IN THE WINDOW. • CODE: LABELNAME.PACK() • NOTE: THERE ARE NUMEROUS OPTIONS TO EXPLORE
  • 6. THE EVENT LOOP AND PROCESSING EVENTS • GUI’S ARE EVENT DRIVEN, MEANING THEY RUN WHEN SOME INTERACTION FROM THE USER OCCURS. • TO DETERMINE WHEN AN INTERACTION OCCURS YOU HAVE TO CREATE A LISTENER FOR EVERY PROGRAMMABLE ACTION THERE IS. • PYTHON MAKES THIS A BIT EASIER BY USING AN EVENT LOOP TO LISTEN FOR ANY INTERACTION. • CODE: WINDOWNAME.MAINLOOP()
  • 7. EXAMPLE • QUESTION: HOW CAN WE MODIFY THE BELOW PROGRAM TO PROMPT THE USER TO ENTER A NAME AND THEN DISPLAY A WELCOME MESSAGE. IMPORT TKINTER WIND = TK() LBLNAME = LABEL(WIND, TEXT = “HEY YOU!”, FG = “BLUE”, FONT =(“HELVETICA, 16)) LBLNAME.PACK() WIND.MAINLOOP()
  • 8. THE WIDGET CLASSES • WHEN CREATING A WIDGET THERE ARE SPECIFIC PARAMETERS FOR EACH TO SPECIFY. • WHERE TO PLACE IT • PROPERTIES • VARIABLES TO SET, ETC. Widget Class Description Button A simple button, used to execute a command. Checkbutton Clicking a check button toggles between the values. Radiobutton Clicking a radio button sets the variable to that value, and clears all other radio buttons associated with the same variable. Entry A text entry field, a.k.a a text field or a text box. Frame A container widget for containing other widgets. Menu A menu pane, used to implement pull down and popup menus. Menubutton A menu button, used to implement pull down menus. Label Displays a text or an image. Message Displays a text. Similar to the label widget, but can automatically wrap text to a given width or aspect ratio. Text Formatted text display. Allows you to display and edit text with various styles and attributes. Also supports embedded images and windows. Scale Allows you to set a numerical value by dragging a "slider". Canvas Structured graphics, used to draw graphs and plots, create graphics editors, and to implement custom widgets. Toplevel A container widget displayed as a separate, top-level window.
  • 9. CHANGING PROPERTIES OF WIDGETS • COLOR AND FONT • TO SPECIFY A COLOR, YOU CAN EITHER USE A COLOR NAME SUCH AS RED, YELLOW, GREEN, BLUE, WHITE, BLACK, PURPLE, ETC, OR EXPLICITLY SPECIFY THE RED, GREEN, AND BLUE (RGB) COLOR COMPONENTS USING A STRING #RRGGBB, WHERE RR, GG, BB ARE HEXADECIMAL REPRESENTATIONS OF THE RED, GREEN AND BLUE VALUES, RESPECTIVELY. • "TIMES 10 BOLD" • "HELVETICA 10 BOLD ITALIC" • "COURIER NEW 20 BOLD ITALIC" • "COURIER NEW 20 BOLD ITALIC OVER STRIKE UNDERLINE" • TEXT PROPERTIES • THE TEXT IN A LABEL AND A BUTTON IS CENTERED BY DEFAULT. YOU CAN CHANGE IT BY USING THE JUSTIFY OPTION WITH VALUES LEFT, CENTER, OR RIGHT. YOU CAN ALSO DISPLAY THE TEXT IN MULTIPLE LINES BY INSERTING THE NEWLINE CHARACTER N TO SEPARATE TEXTS. • MOUSE CURSOR • YOU CAN SET A MOUSE CURSOR BY USING THE CURSOR OPTION WITH VALUES SUCH AS "ARROW" (DEFAULT), "CIRCLE", "CROSS" "PLUS", ETC. • CODE: WIDGETNAME["PROPERTYNAME] = NEWPROPERTYVALUE
  • 10. EXAMPLE import tkinter def btnNameProcess(name): lblName["text"]= "Hey " + name wind = tkinter.Tk() wind.title("GUI Test Program") wind.minsize(200,200) lblName = tkinter.Label(wind, text ="Hey You", fg ="blue", bg = "#fff") enterName = tkinter.StringVar() entName = tkinter.Entry(wind,text = "Me") btnName = tkinter.Button(wind, text = "Press Me", command = lambda: btnNameProcess(entName.get())) lblName.pack() entName.pack() btnName.pack() wind.mainloop()