售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
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
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜