Python GUI Programming - a Complete Reference Guide Develop Responsive and Powerful GUI Applications with Pyqt and Tkinter

This Learning Path guides you through every concept necessary to create fully functional GUI applications using PyQt and Tkinter with only a few lines of code. You'll learn to design and build GUIs that are functional, appealing, and user-friendly using the powerful combination of Python and it...

Full description

Saved in:
Bibliographic Details
Main Authors: Moore, Alan D, Harwani, B. M
Format: eBook
Language:English
Published: Birmingham Packt Publishing, Limited 2019
Packt Publishing
Edition:1
Subjects:
ISBN:1838988475, 9781838988470
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract This Learning Path guides you through every concept necessary to create fully functional GUI applications using PyQt and Tkinter with only a few lines of code. You'll learn to design and build GUIs that are functional, appealing, and user-friendly using the powerful combination of Python and its GUI frameworks.
AbstractList Explore Python's GUI frameworks and create visually stunning and feature-rich applicationsKey FeaturesIntegrate stunning data visualizations using Tkinter Canvas and MatplotlibUnderstand the basics of 2D and 3D animation in GUI applicationsExplore PyQt's powerful features to easily design and customize your GUI applicationsBook DescriptionA responsive graphical user interface (GUI) helps you interact with your application, improves user experience, and enhances the efficiency of your applications. With Python, you'll have access to elaborate GUI frameworks that you can use to build interactive GUIs that stand apart from the rest.This Learning Path begins by introducing you to Tkinter and PyQt, before guiding you through the application development process. As you expand your GUI by adding more widgets, you'll work with networks, databases, and graphical libraries that enhance its functionality. You'll also learn how to connect to external databases and network resources, test your code, and maximize performance using asynchronous programming. In later chapters, you'll understand how to use the cross-platform features of Tkinter and Qt5 to maintain compatibility across platforms. You'll be able to mimic the platform-native look and feel, and build executables for deployment across popular computing platforms.By the end of this Learning Path, you'll have the skills and confidence to design and build high-end GUI applications that can solve real-world problems.This Learning Path includes content from the following Packt products:Python GUI Programming with Tkinter by Alan D. MooreQt5 Python GUI Programming Cookbook by B. M. HarwaniWhat you will learnVisualize graphs in real time with Tkinter's animation capabilitiesUse PostgreSQL authentication to ensure data security for your applicationWrite unit tests to avoid regression when updating codeHandle different signals generated on mouse clicks using QSpinBox and slidersEmploy network concepts, internet browsing, and Google Maps in UIUse graphics rendering to implement animations in your GUIWho this book is forIf you're an intermediate Python programmer looking to enhance your coding skills by writing powerful GUIs in Python using PyQT and Tkinter, this is an ideal Learning Path for you. A strong understanding of the Python language is a must to grasp the concepts explained in this book.
This Learning Path guides you through every concept necessary to create fully functional GUI applications using PyQt and Tkinter with only a few lines of code. You'll learn to design and build GUIs that are functional, appealing, and user-friendly using the powerful combination of Python and its GUI frameworks.
Author Harwani, B. M
Moore, Alan D
Author_xml – sequence: 1
  fullname: Moore, Alan D
– sequence: 2
  fullname: Harwani, B. M
BookMark eNpVj0tLw0AURkd8oK35D7MTF4F5ZDJzlxpqLBQsom7DTXLT1iaZmkkV_73FunH1ceBw4Juws973dMIisE467cApKdQpmxzBJdZcHEAKZyRAYi5ZFMK7EEILoaTVV0wvv8e173n-OufLwa8G7LpNv-IxR575btfSSPyZGhqor4jn-01N1-y8wTZQ9LdT9vYwe8ke48VTPs_uFjEql4g0NqY0SYU2lY0wNQIKQI2uqbRtUrLQoANtKCl1rYFs6SwBWCON1WmCSugpuz2GMWzpK6x9O4bis6XS-20o_n0-uDdHdzf4jz2FsfjVKurHAdtidp8ZCyCc0j8Kb1TK
ContentType eBook
DEWEY 005.437
DatabaseTitleList

DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781838982102
1838982108
Edition 1
ExternalDocumentID 9781838982102
EBC5799082
GroupedDBID -VX
38.
5O.
AABBV
ABARN
ABMRC
ACLGV
ADVEM
AEDWI
AEMZR
AERYV
AETWE
AHWGJ
AJFER
ALMA_UNASSIGNED_HOLDINGS
BBABE
CZZ
DUGUG
EBSCA
ECOWB
GEOUK
IHRAH
OHILO
OODEK
XI1
ABQPQ
AFOJC
ID FETCH-LOGICAL-a28406-55b54ca761f05da9a09a3a8fc37f6e79fa8935e4b3d39e7b87e9975157364a203
ISBN 1838988475
9781838988470
IngestDate Fri Nov 08 04:49:17 EST 2024
Wed Dec 10 13:20:07 EST 2025
IsPeerReviewed false
IsScholarly false
LCCallNum_Ident QA76.9.U83 .M667 2019
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a28406-55b54ca761f05da9a09a3a8fc37f6e79fa8935e4b3d39e7b87e9975157364a203
OCLC 1108519945
PQID EBC5799082
PageCount 730
ParticipantIDs askewsholts_vlebooks_9781838982102
proquest_ebookcentral_EBC5799082
PublicationCentury 2000
PublicationDate 2019
2019-06-24
PublicationDateYYYYMMDD 2019-01-01
2019-06-24
PublicationDate_xml – year: 2019
  text: 2019
PublicationDecade 2010
PublicationPlace Birmingham
PublicationPlace_xml – name: Birmingham
PublicationYear 2019
Publisher Packt Publishing, Limited
Packt Publishing
Publisher_xml – name: Packt Publishing, Limited
– name: Packt Publishing
SSID ssj0003002173
Score 2.111837
Snippet This Learning Path guides you through every concept necessary to create fully functional GUI applications using PyQt and Tkinter with only a few lines of code....
Explore Python's GUI frameworks and create visually stunning and feature-rich applicationsKey FeaturesIntegrate stunning data visualizations using Tkinter...
SourceID askewsholts
proquest
SourceType Aggregation Database
Publisher
SubjectTerms Graphical user interfaces (Computer systems)
Python (Computer program language)
Subtitle Develop Responsive and Powerful GUI Applications with Pyqt and Tkinter
TableOfContents Cover -- FM -- Copyright -- About Packt -- Contributors -- Table of Contents -- Preface -- Chapter 1: Introduction to Tkinter -- Introducing Tkinter and Tk -- Choosing Tkinter -- Installing Tkinter -- Installing Python 3 on Windows -- Installing Python 3 on macOS -- Installing Python 3 and Tkinter on Linux -- Introducing IDLE -- Using the shell mode of IDLE -- Using the editor mode of IDLE -- IDLE as a Tkinter example -- Creating a Tkinter Hello World -- Creating a better Hello World Tkinter -- Summary -- Chapter 2: Designing GUI Applications with Tkinter -- A problem at ABQ AgriLabs -- Assessing the problem -- Gathering information about the problem -- What you found out -- Information about the data being collected -- Information about the users of the application -- Documenting specification requirements -- Contents of a simple specification -- Writing the ABQ data entry program specification -- Designing the application -- Exploring Tkinter input widgets -- Grouping our fields -- Laying out the form -- Laying out the application -- Summary -- Chapter 3: Creating Basic Forms with Tkinter and ttk Widgets -- Evaluating our technology choices -- Choosing a technology -- Exploring Tkinter widgets -- The Entry widget -- The Spinbox widget -- The Combobox widget -- The Checkbutton widget -- The Text widget -- The Button widget -- The LabelFrame widget -- Implementing the application -- Saving some time with a LabelInput class -- Building the form -- Adding LabelFrame and other widgets -- Retrieving data from our form -- Resetting our form -- Building our application class -- Saving to CSV -- Finishing and testing -- Summary -- Chapter 4: Reducing User Error with Validation and Automation -- Validating user input -- Strategies to prevent data errors -- Validation in Tkinter -- Creating a DateEntry widget -- Implementing validated widgets in our form
Implementing read and update in the model -- Adding read and update to our model -- Implementing  get_all_records() -- Implementing  get_record() -- Adding update to save_record() -- Implementing a record list view -- The ttk Treeview -- Implementing our record list with Treeview -- Configuring a Treeview widget -- Adding a scrollbar -- Populating the Treeview -- Responding to record selection -- Modifying the record form for read and update -- Updating __init__() -- Adding a load_record() method -- Updating the rest of the application -- Main menu changes -- Connecting the pieces in Application -- Adding the RecordList view -- Moving the model -- Populating the record list -- Adding the new callbacks -- Cleaning up -- Testing our program -- Summary -- Chapter 8: Improving the Look with Styles and Themes -- Working with images in Tkinter -- Tkinter PhotoImage -- Adding the company logo -- Setting our Window icon -- Styling Tkinter widgets -- Widget color properties -- Using widget properties on our form -- Using tags -- Styling our record list with tags -- Tkinter fonts -- Giving users font options -- Styling Ttk widgets -- Exploring a Ttk widget -- Styling our form labels -- Styling input widgets on error -- Making our Spinbox a Ttk widget -- Updating ValidatedMixin -- Setting themes -- Building a theme selector -- Summary -- Chapter 9: Creating Automated Tests with unittest -- Automated testing basics -- A simple unit test -- The unittest module -- Writing a test case -- TestCase assertion methods -- Fixtures -- Using Mock and patch -- Running multiple unit tests -- Testing Tkinter code -- Managing asynchronous code -- Simulating user actions -- Specifying an event sequence -- Managing focus and grab -- Getting widget information -- Writing tests for our application -- Testing our model -- Testing file reading in get_all_records()
Exploiting the power of multiple inheritance -- A validating mixin class -- Building our widgets -- Requiring data -- A Date widget -- A better Combobox widget -- A range-limited Spinbox widget -- Dynamically adjusting the Spinbox range -- Updating our form -- Displaying errors -- Preventing form submission on error -- Automating input -- Inserting a date -- Automating Lab, Time, and Technician -- Summary -- Chapter 5: Planning for the Expansion of Our Application -- Separating concerns -- The MVC pattern -- What is a model? -- What is a view? -- What is a controller? -- Why complicate our design? -- Structuring our application directory -- Basic directory structure -- The abq_data_entry.py file -- The README.rst file -- ReStructuredText -- Populating the docs folder -- Making a Python package -- Splitting our application into multiple files -- Creating the models module -- Moving the widgets -- Moving the views -- Removing redundancy in our view logic -- Creating the application file -- Running the application -- Using version control software -- A super-quick guide to using Git -- Initializing and configuring a Git repository -- Adding and committing code -- Viewing and using our commits -- Summary -- Chapter 6: Creating Menus with Menu and Tkinter Dialogs -- Solving problems in our application -- Deciding how to address these problems -- Implementing simple Tkinter dialogs -- Tkinter messagebox -- Showing the error dialogs -- Designing our menu -- Creating menus in Tkinter -- Implementing our application menu -- Showing an About dialog -- Adding the menu functionality in the controller -- Handling file selection -- Making our settings work -- Persisting settings -- Building a model for settings persistence -- Using the settings model in our application -- Summary -- Chapter 7: Navigating Records with Treeview
Testing file saving in save_record() -- More tests -- Testing our application -- Testing our widgets -- Unit testing the ValidatedSpinbox widget -- Integration testing the ValidatedSpinbox widget -- Testing our mixin class -- Summary -- Chapter 10: Improving Data Storage with SQL -- PostgreSQL -- Installing and configuring PostgreSQL -- Connecting with psycopg2 -- SQL and relational database basics -- Basic SQL operations -- Syntax differences from Python -- Defining tables and inserting data -- Retrieving data from tables -- Updating rows, deleting rows, and more WHERE clauses -- Subqueries -- Joining tables -- Learning more -- Modeling relational data -- Normalization -- The entity-relationship diagrams -- Assigning data types -- Creating the ABQ database -- Creating our tables -- Creating the lookup tables -- The lab_checks table -- The plot_checks table -- Creating a view -- Integrating SQL into our application -- Creating a new model -- Adjusting the Application class for the SQL backend -- Building a login window -- Using the login window -- Fixing some model incompatibilities -- DataRecordForm creation -- Fixing the open_record() method -- Fixing the on_save() method -- Creating new callbacks -- Updating our views for the SQL backend -- The data record form -- The record list -- Last changes -- Summary -- Chapter 11: Connecting to the Cloud -- HTTP using urllib -- Basic downloading with urllib.request -- Creating a download function -- Parsing XML weather data -- Implementing weather data storage -- Creating the SQL table -- Implementing the SQLModel.add_weather_data() method -- Updating the SettingsModel class -- Adding the GUI elements for weather download -- HTTP using requests -- Installing and using requests -- The requests.session() fucntion -- The response objects -- Implementing API upload -- Creating a test HTTP service
How to do it...
Creating our network function -- Updating application -- Updating the models.py file -- Finishing up -- FTP using ftplib -- Basic concepts of FTP -- Creating a test FTP service -- Implementing the FTP upload function -- Listing files -- Retrieving files -- Deleting or renaming files -- Adding FTP upload to the GUI -- Summary -- Chapter 12: Visualizing Data Using the Canvas Widget -- Drawing and animation with Tkinter's Canvas -- Animating Canvas objects -- Creating our objects -- Animating the racers -- Detecting and handling a win condition -- Creating simple graphs on the canvas -- Creating the model method -- Creating the graph view -- Updating the application -- Advanced graphs using Matplotlib and Tkinter -- Data model method -- Creating the bubble chart view -- Application method -- Summary -- Chapter 13: Creating a User Interface with Qt Components -- Introduction -- PyQt -- Ways of creating GUI applications -- Displaying a welcome message -- Understanding the Label widget -- Methods -- Understanding the Line Edit widget -- Methods -- Understanding the Push Button widget -- How to do it... -- How it works... -- Using the Radio Button widget -- Understanding Radio Button -- Methods -- Signal description -- How to do it... -- How it works... -- Grouping radio buttons -- Getting ready -- How to do it... -- How it works... -- Displaying options in the form of checkboxes -- Getting ready -- Method application -- Signal description -- How to do it... -- How it works... -- Displaying two groups of checkboxes -- Getting ready -- How to do it... -- How it works... -- Chapter 14: Event Handling - Signals and Slots -- Introduction -- Using Signal/Slot Editor -- How to do it... -- Copying and pasting text from one Line Edit widget to another -- Getting ready -- How to do it... -- How it works... -- Converting data types and making a small calculator
Title Python GUI Programming - a Complete Reference Guide
URI https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=5799082
https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9781838982102
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtZ1Lb9QwEIBHsMuBXspTlBZkIW6rVCGO47g3aJeCQGWRtqi3lRNPULVtWjXbpRV_nrHjeLNwgQOXyIkjH-aLxjPjmQzAazIyCjSViYRO4yitkiLSqIooxkLx3AiVoeta8lkeHeUnJ2rie4c2rp2ArOv85kZd_lfU9Ixg29LZf8AdFqUHNCbodCXsdP3NIg63LfHJrf0PwOjw-GOXdXUeqpld5jjZx6PQVmT0_frUoIsI-MIpmmvzZZftkcKlbaBmU5jtiv2D7jZ4O7n92manT-f2nxMhyfftGamMg13SFj6F1w2C208Tu7Z06EfbTKob9qMPtuApi5JV9HGiy_miFzFb805JW-Qqtz7larMJKYBr83dhmKSCpwMYHo6_HH8KUTLufCa-ARu6mZPWpx1h0fyxbTpbYPoAhmgLRB7CHawfwWbXFoN5LfkYfrYgGImN9UDsMc06DCxgYA4D22MeAltBYCRc1kFwq_UhMAuBWQjuPQ_hCXx7P57uf4h8j4tIk2FAwhSiEGmpZfamioXRSsdKc51XJZdVhlJVmixKgWnBDVcoi1yiUpKsUMmzVCcxfwqD-qLGZ8B0LJAcJoFCm1SZhBYhc1zwzKiyUIhb8KonxdnyzJ3HN7M1FFvAOuHO3LxPEp6N3-0LSbZLnjz_m3W24f7qe9mBweLqGl_AvXK5OG2uXnrOvwAXDFG4
linkProvider ProQuest Ebooks
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.title=Python+GUI+programming%3A+a+complete+reference+guide+%3A+develop+responsive+and+powerful+GUI+applications+with+PyQt+and+Tkinter&rft.au=Alan+D.+Moore%2C+Moore&rft.au=B.+M.+Harwani%2C+Harwani&rft.date=2019-06-24&rft.pub=Packt+Publishing&rft.isbn=9781838982102&rft.externalDocID=9781838982102
thumbnail_m http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97818389%2F9781838982102.jpg