Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Build Library Management System | Python & PyQt5
Rating: 4.0 out of 5(233 ratings)
17,803 students

Build Library Management System | Python & PyQt5

Build Library Management System With Python & PyQt5 & MySQL , Generating Excel Reports , Users , App Themes
Created byMahmoud Ahmed
Last updated 4/2020
English
English [Auto],

What you'll learn

  • Installing Python
  • Installing PyQt5
  • Installing MySQL Server
  • Design nice desktop applications with QtDesigner
  • Styling desktop applications with CSS
  • Design a database using mysql workbench
  • Connecting to mysql database with python
  • inserting , selecting , updating , deleting database data from our app
  • Adding project themes and change between them easly
  • Adding new users
  • Updating user data
  • Login at startup

Course content

2 sections40 lectures6h 31m total length
  • Course Introduction5:36

    Design and build a library management system from scratch using Python and PyQt5, connect to a database, and manage books, clients, users, categories, themes, and login-based operations.

  • Join The Community0:08
  • Tools Setup4:51

    Install a baseline toolchain, download and configure MySQL server and MySQL Workbench, and choose the community edition across Windows, macOS, and Linux.

  • Project Structure4:34

    Explore the project structure of a Python and PyQt5 based library management system, covering books, categories, authors, publishers, and users, plus day-to-day operations, search, and report exports.

  • Design Our UI Structure10:42

    Design our user interface structure for a library management system using PyQt5, with a main window, navigation buttons for day-to-day operations, books, users, settings, and themes, and a content table.

  • Designe Day to Day Operations Tab5:35

    design the day-to-day operations tab with a data table for books, an add operation button, and fields for book title, author, publisher, category, price, and rental duration.

  • Design Book Tab10:30

    Designs the book tab to add, search, edit, and delete books, with fields for title, description, category, price, author, and publisher in a python and pyqt5 library app.

  • Design Users Tab6:56

    Design the users tab for the library management system, enabling admins to add, edit, and validate user information (username, password, email) and login functionality with PyQt5.

  • Design Settings Tab5:46

    Design the settings tab to add and manage categories, authors, and publishers, display current categories, and plan a themes feature for stylish scene switching.

  • Design Themes Tab5:45

    design themes tab enables adding and selecting themes in the library management system, with four theme options, color tweaks, and a flow for categories, authors, publishers, and database integration.

  • Connect Our UI To Python Code9:11

    Connect the PyQt5 user interface to Python code by loading or converting the UI file, and prepare to wire the UI to a database.

  • Design Our DB On MySQL Workbench8:40

    Design a library database on MySQL Workbench, create tables for books, users, and day-to-day operations, plus categories, authors, and publishers, and connect the code with a username and password.

  • Coding The Main Buttons13:29

    Wire the main navigation buttons in a Python PyQt5 library app, connecting to the database and implementing handlers for books, users, and themes with show/hide groups and CRUD actions.

  • Coding Settings Tab16:18

    Connect to a localhost database from the settings tab and add books, categories, authors, and publishers. Bind UI buttons to inserts and commits with status messages.

  • Show Settings Data In TableWidget Part 110:13

    Retrieve categories, authors, and publishers from the database and display them in a PyQt5 table widget, refreshing the table by clearing data and inserting rows.

  • Show Settings Data In TableWidget Part 25:45

    Learn to display authors and publishers in the table widget, refresh data after adding categories, and load data from the database to keep the library management UI up to date.

  • Retrieving Settings Data In All Combobox9:49

    Retrieve all categories, authors, and publishers from the database and populate the comboboxes in the library management system UI, enabling seamless book creation with complete metadata.

  • Add New Book Tab14:37

    Add new book tab guides users through creating publishers, authors, and categories, validating data, cleaning duplicates, and inserting book records into the database.

  • Add Books Search9:22

    Enable users to search, add, edit, and delete books in a PyQt5 based library management system, with database integration, book details retrieval, and autocomplete support.

  • Edit & Delete Book13:39

    Learn to edit book details—title, description, category, author, publisher, and price—within a PyQt5 library app, then delete books via a confirmation prompt and update records accordingly.

  • Adding Users Part 117:49

    Learn to add a new user to the library app by entering username, email, and password, connect to the database, insert into users, and validate credentials for login.

  • Adding Users Part 212:58

    Add users part 2 guides editing and saving user data, including username, password, and email, and updating the database through the PyQt5 interface.

  • Add App Themes18:13

    Add app themes to enable users to switch among four themes by updating stylesheets and the UI, applying customizable colors and backgrounds, with a default theme.

  • Adding CLients Tab15:19

    Add a clients tab to the library management system, enabling adding and editing clients with first name, address, national ID, and email, and view all books and clients in tables.

  • Add New CLient10:59

    Add a new client by defining a clients table with name, email, and national id, inserting records, and wiring PyQt5 UI buttons for add, search, edit, and delete.

  • Search , Edit , Delete CLient15:42

    Create a Python PyQt5 based library management interface to search a client by national ID, retrieve and edit their information in an SQLite database, and securely delete records with confirmation.

  • Show All Clients & Books12:12

    Connect to the database, fetch all clients and all books, and display them in a PyQt5 table widget.

  • Fixing Issues In The Project16:10

    Fix issues in the library project by updating database handling for books, categories, authors, and publishers, and refreshing the books and clients lists after operations.

  • Adding Day-To-Day Operations Tab Part 121:43

    Add a day-to-day operations tab in a Python PyQt5 library system, recording loans with book title, client, loan days, and computing the return date with live table updates.

  • Adding Day-To-Day Operations Tab Part 29:18

    Add day-to-day operations for the library management system by wiring database queries for book, client, and date range data, updating the table in real time, and exporting to Excel.

  • Design Login Window4:20

    Design a login window for the library management system using PyQt5, featuring enter username and enter password fields, a login button, and an error message on failed attempts.

  • Add Login To Our Project9:57

    Add login to the library management system by validating username and password against a database and opening the main window after successful login.

  • Add Export Buttons In The Design3:44

    Add export buttons to the library management app to export books and clients to Excel files from the API, allowing users to generate and save exportable data for day-to-day operations.

  • Enable Export To Excel Part 113:53

    Enable export to Excel in the library management system by retrieving data from the database, creating a workbook with sheets, and exporting books, clients, and operations to Excel.

  • Enable Export To Excel Part 29:25

    Enable export to Excel for books and clients in the library management system, building a workbook with sheets and columns like book name, description, category, author, publisher, and price.

  • Fixing Themes Window Issue in UI3:26

    Fix the themes window issue in the UI by ensuring the selected theme applies across all windows and loads the required stylesheet locally, while validating the login flow.

Requirements

  • only python basics

Description

In this course you'll learn how to build a Library System with PyQt5 and Python!

PyQt5 is one of the best frameworks for developing desktop applications that looks awesome 

In this course I'll be developing on a my Mac machine, but you should be able to follow along if you're on a Windows or Linux.  I'll show you how to download and install Python and PyQt5

You'll be able to build Desktop Applications  and simple business Applications when you're finished with this course.

we will build a library system with:

  • adding new books

  • adding books categories

  • adding books Author

  • adding books Publisher

  • adding day to day operations for rent or retrieving books

  • Generate Excel reports from our data

  • Adding new users with user login  and editing user data


WHAT DO YOU NEED TO TAKE THIS COURSE?

You don't need any tools or special skills to take this course. I'll show you how to download and install everything you'll need for free (PyQt, Python, and the Pycharm). 

DO I NEED TO KNOW PYTHON TO TAKE THIS COURSE?

simple python basics!  it's a good idea to learn Python if you want to use PyQt5. But you don't have to know advanced Python to take this course. I'll walk you through everything you need to know.

Building desktop applications with PyQt5 is very easy , and the course will make it very fun


What you’ll learn

  • Installing Python

  • Installing PyQt5

  • Installing MySQL Server

  • Design nice desktop applications with QtDesigner

  • Styling desktop applications with CSS

  • Design a database using mysql workbench

  • Connecting to mysql database with python

  • inserting , selecting , updating , deleting database data from our app

  • Adding project themes and change between them easly

  • Adding new users

  • Updating user data

  • Login at startup



Are there any course requirements or prerequisites?

  • simple python skills is needed

Who this course is for:

  • This course is aimed towards absolute beginners who want to learn how to  build desktop applications with PyQt5 and Python

Who this course is for:

  • any one want to build awesome desktop applications with python