Python GUI Programming - a Complete Reference Guide : (Record no. 11556)
[ view plain ]
000 -LEADER | |
---|---|
fixed length control field | 11523nam a22005053i 4500 |
001 - CONTROL NUMBER | |
control field | EBC5799082 |
003 - CONTROL NUMBER IDENTIFIER | |
control field | MiAaPQ |
005 - DATE AND TIME OF LATEST TRANSACTION | |
control field | 20240724113810.0 |
006 - FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS | |
fixed length control field | m o d | |
007 - PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION | |
fixed length control field | cr cnu|||||||| |
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION | |
fixed length control field | 240724s2019 xx o ||||0 eng d |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER | |
International Standard Book Number | 9781838982102 |
Qualifying information | (electronic bk.) |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER | |
Canceled/invalid ISBN | 9781838988470 |
035 ## - SYSTEM CONTROL NUMBER | |
System control number | (MiAaPQ)EBC5799082 |
035 ## - SYSTEM CONTROL NUMBER | |
System control number | (Au-PeEL)EBL5799082 |
035 ## - SYSTEM CONTROL NUMBER | |
System control number | (OCoLC)1108519945 |
040 ## - CATALOGING SOURCE | |
Original cataloging agency | MiAaPQ |
Language of cataloging | eng |
Description conventions | rda |
-- | pn |
Transcribing agency | MiAaPQ |
Modifying agency | MiAaPQ |
050 #4 - LIBRARY OF CONGRESS CALL NUMBER | |
Classification number | QA76.9.U83 .M667 2019 |
082 0# - DEWEY DECIMAL CLASSIFICATION NUMBER | |
Classification number | 005.437 |
100 1# - MAIN ENTRY--PERSONAL NAME | |
Personal name | Moore, Alan D. |
245 10 - TITLE STATEMENT | |
Title | Python GUI Programming - a Complete Reference Guide : |
Remainder of title | Develop Responsive and Powerful GUI Applications with Pyqt and Tkinter. |
250 ## - EDITION STATEMENT | |
Edition statement | 1st ed. |
264 #1 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE | |
Place of production, publication, distribution, manufacture | Birmingham : |
Name of producer, publisher, distributor, manufacturer | Packt Publishing, Limited, |
Date of production, publication, distribution, manufacture, or copyright notice | 2019. |
264 #4 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE | |
Date of production, publication, distribution, manufacture, or copyright notice | ©2019. |
300 ## - PHYSICAL DESCRIPTION | |
Extent | 1 online resource (730 pages) |
336 ## - CONTENT TYPE | |
Content type term | text |
Content type code | txt |
Source | rdacontent |
337 ## - MEDIA TYPE | |
Media type term | computer |
Media type code | c |
Source | rdamedia |
338 ## - CARRIER TYPE | |
Carrier type term | online resource |
Carrier type code | cr |
Source | rdacarrier |
505 0# - FORMATTED CONTENTS NOTE | |
Formatted contents note | 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. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | 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. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | 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(). |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | 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. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | 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. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | How to do it. |
520 ## - SUMMARY, ETC. | |
Summary, etc. | 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. |
588 ## - SOURCE OF DESCRIPTION NOTE | |
Source of description note | Description based on publisher supplied metadata and other sources. |
590 ## - LOCAL NOTE (RLIN) | |
Local note | Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM | |
Topical term or geographic name entry element | Graphical user interfaces (Computer systems). |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM | |
Topical term or geographic name entry element | Python (Computer program language). |
655 #4 - INDEX TERM--GENRE/FORM | |
Genre/form data or focus term | Electronic books. |
700 1# - ADDED ENTRY--PERSONAL NAME | |
Personal name | Harwani, B. M. |
776 08 - ADDITIONAL PHYSICAL FORM ENTRY | |
Relationship information | Print version: |
Main entry heading | Moore, Alan D. |
Title | Python GUI Programming - a Complete Reference Guide |
Place, publisher, and date of publication | Birmingham : Packt Publishing, Limited,c2019 |
International Standard Book Number | 9781838988470 |
797 2# - LOCAL ADDED ENTRY--CORPORATE NAME (RLIN) | |
Corporate name or jurisdiction name as entry element | ProQuest (Firm) |
856 40 - ELECTRONIC LOCATION AND ACCESS | |
Uniform Resource Identifier | <a href="https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=5799082">https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=5799082</a> |
Public note | Click to View |
No items available.