舉報

會員
Tkinter GUI Application Development Blueprints(Second Edition)
Thisbookisforabeginnertointermediate-levelPythonistswhowanttobuildmodern,cross-platformGUIapplicationswiththeamazinglypowerfulTkinter.PriorknowledgeofTkinterisrequired.
目錄(281章)
倒序
- coverpage
- Title Page
- 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
- Technical requirements
- Project overview
- Getting started
- GUI programming – the big picture
- The root window – your drawing board
- Widgets – the building blocks of GUI programs
- Some important widget features
- Ways to create widgets
- Getting to know the core Tkinter widgets
- Adding widgets to a parent window
- The Tkinter geometry manager
- The pack geometry manager
- The grid geometry manager
- The place geometry manager
- Events and callbacks – adding life to programs
- Command binding
- Passing arguments to callbacks
- Limitations of the command option
- Event binding
- Event patterns
- Binding levels
- Handling widget-specific variables
- Event unbinding and virtual events
- Doing it in style
- Specifying styles
- Some common root window options
- Getting interactive help
- Summary
- QA section
- Further reading
- Making a Text Editor
- Project overview
- Getting started – setting up the editor skeleton
- Adding a menu and menu items
- Adding menu items
- Implementing the View menu
- Adding a built-in functionality
- Indexing and tagging
- Index
- Tags
- Implementing the Select All feature
- Implementing the Find Text feature
- Types of Toplevel window
- Working with forms and dialogs
- Working with message boxes
- The icons toolbar and View menu functions
- Displaying line numbers
- Adding the cursor information bar
- Adding themes
- Creating a context/pop-up menu
- Summary
- QA section
- Further reading
- Programmable Drum Machine
- Getting started
- Technical requirements
- Setting up the GUI in OOP
- Finalizing the data structure
- Creating broader visual elements
- Defining getter and setter methods
- The number of units and beats per unit features
- Loading drum samples
- Playing the drum machine
- Initializing pygame
- Playing complete patterns
- Determining the tempo of a rhythm
- Tkinter and threading
- Tkinter and thread safety
- Support for multiple beat patterns
- Saving beat patterns
- Working with ttk-themed widgets
- Summary
- QA section
- Further reading
- Game of Chess
- An overview of the chapter
- Module requirements for this chapter
- Structuring our program
- Modeling the data structure
- Convention on naming chess pieces
- Convention for naming locations on the chessboard
- Creating a Piece class
- Displaying chess pieces on the chessboard
- Defining rules for the chess pieces
- Rules for the king queen rooks and bishops
- Rules for the Knight
- Rules for a pawn
- Movement validation of chess pieces
- Tracking all available moves
- Finding out the current position of the king
- Checking whether the king is in check
- Making the game functional
- Getting the source and destination position
- Collecting a list of the moves that need to be highlighted
- Highlighting allowed moves
- Pre-move validation
- Check whether a move will cause check on the King
- Recording a move in the data structure
- Keep game statistics
- Managing user preferences
- Summary
- QA section
- Further reading
- Building an Audio Player
- An overview of the chapter
- External library requirements
- The pyglet module
- Pmw Tkinter extension
- Program structure and broadview skeleton
- Deciding the data structure
- Creating the Player class
- Adding and removing items from a playlist
- Adding a single audio file
- Removing the selected files from a playlist
- Adding all files from a directory
- Emptying the playlist
- Playing audio and adding audio controls
- Adding the play/stop function
- Adding the pause/unpause function
- Adding the mute/unmute function
- Fast forward/rewind function
- Adding the next track/previous track function
- Adding the volume change function
- Creating a seek bar
- One-time updates during audio playback
- Managing continuous updates
- Looping over tracks
- Adding a tooltip
- Pmw list of extensions
- Widgets
- Dialogs
- Miscellaneous
- Summary
- QA section
- Further reading
- Paint Application
- Overview of the application
- Creating a tiny framework
- Setting up a broad GUI structure
- Dealing with mouse events
- Adding toolbar buttons
- Drawing items on the canvas
- Adding a color palette
- Adding top bar options for draw methods
- Drawing irregular lines and super shapes
- Drawing irregular lines
- Drawing super shapes
- Adding functionality to the remaining buttons
- Adding functionality to menu items
- Summary
- QA section
- Further reading
- Piano Tutor
- Technical requirements
- A brief primer on piano terms
- Learning about scales
- Learning about chords
- Building the broad GUI structure
- Putting up the skeleton structure
- Making the piano keyboard
- Putting the keyboard together
- Playing audio
- Building the scales tutor
- Building the chord finder section
- Building the chord progression tutor
- Building the score maker
- A note on window responsiveness
- Experimenting with the code
- Handling widget resize with <Configure>
- Summary
- QA section
- Further reading
- Fun with Canvas
- Building a screen saver
- Graphing with Tkinter
- Polar plots with Tkinter
- Gravity simulation
- Drawing fractals
- Voronoi diagrams
- Spring pendulum simulation
- Chaos game – building triangles out of randomness
- Phyllotaxy
- 3D graphics with Tkinter
- Summary
- QA section
- Further reading
- Multiple Fun Projects
- Technical requirements
- Building a Snake game
- Understanding a race condition
- Using synchronization primitives
- Using queues
- Building the Snake game
- The View class
- The Food class
- The Snake class
- Queue handler
- Creating a Weather Reporter application
- A simple socket demo
- Building a port scanner
- Building a chat application
- Creating a phone book application
- Creating a new record
- Reading from the database
- Updating records
- Deleting records
- Using asyncio with Tkinter
- Interfacing with hardware/serial communication
- Hardware
- Writing the Arduino sketch
- Reading serial data
- Summary
- QA section
- Further reading
- Miscellaneous Tips
- Tracing Tkinter variables
- Widget traversal
- Validating user input
- Key validation mode demo
- Focus-out validation mode demo
- Formatting widget data
- More on fonts
- Finer control over font
- Building a font selector
- Redirecting the command-line output to Tkinter
- The class hierarchy of Tkinter
- Tips for program design
- The model-first policy versus the code-first policy
- Separating the model from the view
- Selecting the right data structure
- Naming variables and methods
- The Single Responsibility Principle
- Loose coupling
- Handling errors and exceptions
- Handling cross-platform differences
- Tips for program optimization
- Using filter and map
- Optimizing variables
- Profiling your program
- Other optimization tips
- Distributing a Tkinter application
- py2exe
- py2app
- PyInstaller
- Other freezing tools
- The limitations of Tkinter
- A limited number of core widgets
- Non-Python objects
- No support for printing
- No support for newer image formats
- Inactive development community
- Alternatives to Tkinter
- wxPython
- PyQt
- PySide
- PyGTK
- Other options
- Tkinter in Python 2.x
- Summary
- QA section
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-06-24 18:35:52
推薦閱讀
- Mastering OpenLayers 3
- 深入理解Bootstrap
- 數據結構和算法基礎(Java語言實現)
- GitLab Repository Management
- Data Analysis with Stata
- QGIS By Example
- Statistical Application Development with R and Python(Second Edition)
- C專家編程
- Java Fundamentals
- Go語言開發實戰(慕課版)
- 軟件體系結構
- Java從入門到精通(視頻實戰版)
- MATLAB 2020 GUI程序設計從入門到精通
- Learning D3.js 5 Mapping(Second Edition)
- Building UIs with Wijmo
- Raspberry Pi Robotic Projects
- Puppet Cookbook(Third Edition)
- PHP編程(第4版)
- 代碼揭秘
- Effective DevOps with AWS
- 換個姿勢學C語言
- Visual C++.NET(2008)典型案例
- Procedural Content Generation for Unity Game Development
- 倉頡編程快速上手
- 網頁游戲開發秘笈
- Creative Projects for Rust Programmers
- 信息無障礙:提升用戶體驗的另一種視角
- OpenLayers 3.x Cookbook(Second Edition)
- 零基礎學Visual C++(第4版)
- Large Scale Machine Learning with Spark