1 option
Tkinter GUI programming by example : learn to create modern GUIs using Tkinter by building real-world projects in Python / David Love.
- Format:
- Book
- Author/Creator:
- Love, David, author.
- Language:
- English
- Subjects (All):
- Graphical user interfaces (Computer systems).
- Python (Computer program language).
- Physical Description:
- 1 online resource (329 pages)
- Edition:
- 1st ed.
- Place of Publication:
- Birmingham ; Mumbai : Packt Publishing, 2018.
- Biography/History:
- Love David: David Love is a web developer from Kent, England. He has worked on a multitude of different systems over his career. Programming languages in his arsenal include Python, PHP, and JavaScript. He is well-trained in Linux server management and its relevant technologies, including MySQL, PostgreSQL, NGINX, and supervisor. David has written an e-book called Tkinter By Example, which is available for free under a Creative Commons licenses and maintains an ever-growing blog post named The Tkinter Cookbook, full of small examples on how to perform some specific tasks.
- Summary:
- When developing GUI-rich applications, the most important choice is which programming language(s) and GUI framework to use; in this case, Python along with Tkinter prove to be a great combination. This book will get you up and running with Tkinter while letting you create some fun and interactive projects.
- Contents:
- Cover
- Title Page
- Copyright and Credits
- Packt Upsell
- Contributors
- Table of Contents
- Preface
- Chapter 1: Meet Tkinter
- Installation
- How will the code be structured?
- Geometry managers
- pack
- grid
- place
- To pack or to grid?
- Getting going
- Adding interactivity
- Using variables
- Our first try
- Creating Tkinter-compatible variables
- Using and updating
- Fixing our application
- Showing messages
- Showing information with showinfo
- Showing warnings or errors
- Getting feedback from the user
- Getting text input
- Summary
- Chapter 2: Back to the Command Line - Basic Blackjack
- Python's class system
- Instances
- Inheritance
- Blackjack's classes
- The Card class
- The Deck class
- The Hand class
- The Game class and main loop
- Command line versus GUI
- Interactivity
- Familiarity
- Ease of use
- Size and portability
- Chapter 3: Jack is Back in Style - the Blackjack GUI
- Moving from the command line to a graphical interface
- The Canvas widget
- Creating a graphical blackjack game
- Card, Deck, and Hand
- The GameState class
- The GameScreen class
- Playing our game
- Chapter 4: The Finishing Touches - Sound and Animation
- Python's module system
- The blackjack packages
- The casino package
- The casino_sounds package
- Setting up a virtual environment
- Creating the package
- The blackjack.py file
- Initializing the GameWindow class
- Choosing to hit
- Choosing to stick
- Running out of money
- Finishing off
- Chapter 5: Creating a Highly Customizable Python Editor
- The ttk submodule
- Styling a tk widget
- Styling a ttk widget
- Ttk style inheritance
- Beginning our text editor
- Tkinter's event system
- Binding an event
- Overwriting default events.
- Generating events
- Events in our text editor
- A second top-level window
- Chapter 6: Color Me Impressed! - Adding Syntax Highlighting
- Tkinter's indexing system
- Getting the cursor's position
- Named indexes
- Special strings
- Line endings
- Horizontal movement
- Vertical movement
- Line beginning and end
- Word beginning and end
- Expanding our demo
- Using tags
- Searching text
- Adding syntax highlighting to our text editor
- The Highlighter class
- Using our Highlighter class
- The LineNumbers class
- Using our LineNumbers class
- Integrating our FindWindow class
- Using our FindWindow class
- Chapter 7: Not Just for Restaurants - All About Menus
- The Menu widget
- A menu bar
- A floating menu
- Adding a menu bar to our text editor
- Adding a context menu to our text editor
- Handling files
- Changing the syntax highlighting
- Changing the editor's font
- The Listbox widget
- The Spinbox widget
- Saving the user's choices
- Changing the editor's color scheme
- Chapter 8: Talk Python to Me - a Chat Application
- Creating a scrollable frame
- Creating our FriendsList class
- Creating our ChatWindow class
- Creating our SmilieSelect class
- Chapter 9: Connecting - Getting Our Chat Client Online
- Introduction to flask
- Our first web page
- Using JSON
- The requests module
- Sending a GET request
- Sending a POST request
- The sqlite3 module
- Creating a database and table
- Adding data to a SQLite database
- Selecting data from a SQLite database
- Linking flask and sqlite
- Updating our FriendsList class
- Creating the Requester class
- Connecting our FriendsList to our web service
- Connecting our ChatWindow
- Updating our server to store conversations
- Creating the Conversation class
- Using the Conversation class in our server.
- Adding the new endpoints to our Requester
- Updating our ChatWindow class to send requests to the server
- Chapter 10: Making Friends - Finishing Our Chat Application
- Using threads
- Why use a thread with a GUI application?
- Using a thread
- Adding a Thread to our ChatWindow
- Creating new endpoints
- The ListeningThread class
- Implementing the ListeningThread class in our ChatWindow
- Allowing users to upload avatars
- The AvatarWindow class
- Adjusting the database
- Adding server endpoints
- Updating the FriendsList class
- Manipulating images with PIL
- Adding and blocking other users
- New database table
- Creating the server endpoints
- Tying it all together
- Chapter 11: Wrapping Up - Packaging Our Applications to Share
- Unexplored widgets
- The LabelFrame widget
- The Checkbutton and Radiobutton widgets
- The OptionMenu and Combobox widgets
- The Notebook widget
- Packaging applications
- Adjusting our text editor for portability
- Preparing to package with setup.py
- Installing our text editor
- Cross-platform using Pip
- Windows
- Linux
- macOS
- Other Books You May Enjoy
- Index.
- Notes:
- Description based on print version record.
- ISBN:
- 9781788622578
- 178862257X
- OCLC:
- 1463580736
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.