logo资料库

Tkinter GUI Programming by Example.pdf

第1页 / 共429页
第2页 / 共429页
第3页 / 共429页
第4页 / 共429页
第5页 / 共429页
第6页 / 共429页
第7页 / 共429页
第8页 / 共429页
资料共429页,剩余部分请下载后查看
Title Page
Copyright and Credits
Tkinter GUI Programming by Example
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
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
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
Summary
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
Summary
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
The GameScreen class
The GameState class
Choosing to hit
Choosing to stick
Running out of money
Finishing off
Summary
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
Summary
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
Summary
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
Summary
Talk Python to Me – a Chat Application
Creating a scrollable frame
Creating our FriendsList class
Creating our ChatWindow class
Creating our SmilieSelect class
Summary
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
Summary
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
Summary
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
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
Download from finelybook www.finelybook.com Tkinter GUI Programming by Example Learn to create modern GUIs using Tkinter by building real-world projects in Python David Love 2
Download from finelybook www.finelybook.com BIRMINGHAM - MUMBAI 3
Download from finelybook www.finelybook.com Tkinter GUI Programming by Example Copyright © 2018 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Commissioning Editor: Aaron Lazar Acquisition Editor: Denim Pinto Content Development Editor: Anugraha Arunagiri Technical Editor: Subhalaxmi Nadar Copy Editor: Safis Editing Project Coordinator: Ulhas Kambali Proofreader: Safis Editing Indexer: Aishwarya Gangawane Graphics: Tania Dutta Production Coordinator: Arvindkumar Gupta First published: April 2018 Production reference: 1240418 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78862-748-1 www.packtpub.com 4
Download from finelybook www.finelybook.com mapt.io Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website. 5
Download from finelybook www.finelybook.com Why subscribe? Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals Improve your learning with Skill Plans built especially for you Get a free eBook or video every month Mapt is fully searchable Copy and paste, print, and bookmark content 6
Download from finelybook www.finelybook.com PacktPub.com Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.Pa cktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at service@packtpub.com for more details. At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks. 7
Download from finelybook www.finelybook.com Contributors 8
分享到:
收藏