Hướng dẫn làm form đăng nhập tài khoản trong Python bằng PyQT6

Hướng dẫn chi tiết cách tạo form đăng nhập tài khoản trong Python sử dụng PyQT6, bao gồm cách thiết kế giao diện và xử lý sự kiện khi người dùng nhấn nút đăng nhập.

Trong bài viết này, bạn sẽ học cách tạo một form đăng nhập tài khoản sử dụng PyQT6 trong Python. Chúng ta sẽ xây dựng giao diện với các trường nhập liệu như tên người dùng và mật khẩu, đồng thời xử lý sự kiện khi nhấn nút đăng nhập.

Mã Python:

import sys  # Thư viện hệ thống cho phép tương tác với trình thông dịch Python
from PyQt6.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QVBoxLayout, QPushButton, QMessageBox  # Nhập các lớp cần thiết từ PyQt6

# Tạo một lớp LoginForm kế thừa từ QWidget
class LoginForm(QWidget):
    def __init__(self):
        super().__init__()  # Gọi hàm khởi tạo của lớp cha QWidget
        self.initUI()  # Gọi hàm để khởi tạo giao diện

    def initUI(self):
        self.setWindowTitle('Form đăng nhập tài khoản')  # Đặt tiêu đề cho cửa sổ ứng dụng
        self.setGeometry(100, 100, 400, 200)  # Đặt kích thước và vị trí của cửa sổ (x, y, width, height)

        # Tạo một layout dạng hộp dọc
        layout = QVBoxLayout()

        # Tạo và thêm các trường nhập liệu vào layout
        self.username_label = QLabel('Tên người dùng:', self)
        layout.addWidget(self.username_label)
        self.username_input = QLineEdit(self)
        layout.addWidget(self.username_input)

        self.password_label = QLabel('Mật khẩu:', self)
        layout.addWidget(self.password_label)
        self.password_input = QLineEdit(self)
        self.password_input.setEchoMode(QLineEdit.EchoMode.Password)  # Thiết lập chế độ hiển thị mật khẩu
        layout.addWidget(self.password_input)

        # Tạo và thêm nút đăng nhập
        self.login_button = QPushButton('Đăng nhập', self)
        self.login_button.clicked.connect(self.login)  # Kết nối sự kiện nhấn nút với hàm login
        layout.addWidget(self.login_button)

        # Thiết lập layout chính cho widget
        self.setLayout(layout)

    # Định nghĩa hàm xử lý khi người dùng nhấn nút đăng nhập
    def login(self):
        username = self.username_input.text()
        password = self.password_input.text()

        if username == "admin" and password == "password":
            QMessageBox.information(self, 'Thông báo', 'Đăng nhập thành công!')
        else:
            QMessageBox.warning(self, 'Lỗi', 'Tên người dùng hoặc mật khẩu không đúng!')

# Phần main của ứng dụng
if __name__ == '__main__':
    app = QApplication(sys.argv)  # Khởi tạo đối tượng QApplication
    form = LoginForm()  # Tạo một đối tượng từ lớp LoginForm
    form.show()  # Hiển thị giao diện
    sys.exit(app.exec())  # Chạy vòng lặp sự kiện của ứng dụng

Giải thích chi tiết từng dòng code

  1. import sys: Nhập thư viện hệ thống.
  2. from PyQt6.QtWidgets import ...: Nhập các lớp cần thiết từ PyQt6.
  3. class LoginForm(QWidget): Định nghĩa lớp LoginForm kế thừa từ QWidget.
  4. def __init__(self): Hàm khởi tạo của lớp LoginForm.
  5. self.initUI(): Gọi hàm initUI để khởi tạo giao diện.
  6. self.setWindowTitle('...'): Đặt tiêu đề cho cửa sổ.
  7. self.setGeometry(...): Đặt vị trí và kích thước cho cửa sổ.
  8. layout = QVBoxLayout(): Tạo layout dạng hộp dọc.
  9. self.username_label = QLabel('...'): Tạo label và trường nhập liệu cho tên người dùng.
  10. self.password_input.setEchoMode(...): Thiết lập chế độ hiển thị mật khẩu.
  11. self.login_button.clicked.connect(...): Kết nối sự kiện khi nhấn nút đăng nhập.
  12. def login(self): Định nghĩa hàm login xử lý sự kiện khi nhấn nút.
  13. QMessageBox.information(...): Hiển thị thông báo khi đăng nhập thành công hoặc lỗi.

Yêu cầu hệ thống:

  • Python 3.9 trở lên
  • PyQT6

Cách cài đặt các thư viện để chạy được đoạn mã Python trên:

Sử dụng pip để cài đặt PyQt6:

pip install PyQt6

Lời khuyên:

  • Bạn có thể mở rộng form đăng nhập với nhiều tính năng hơn như kiểm tra dữ liệu từ cơ sở dữ liệu.
  • Xem xét cách mã hóa mật khẩu để tăng cường bảo mật cho ứng dụng của bạn.


Các Hướng Dẫn Cùng Chủ Đề Đang Xem

Cách POST data tới API bằng Python

Bài viết này hướng dẫn cách gửi dữ liệu tới một API sử dụng phương thức POST trong Python bằng thư viện requests, giúp bạn hiểu rõ hơn về cách tương tác với các dịch vụ web.
Cách đảo ngược Series trong Pandas

Hướng dẫn cách đảo ngược một `Series` trong Pandas, một thư viện phổ biến trong Python để xử lý dữ liệu. Bài viết sẽ trình bày cách sử dụng các phương pháp khác nhau để đảo ngược thứ tự của các phần tử trong `Series`.
Cách UPDATE dữ liệu database MySQL bằng Python

Hướng dẫn cách cập nhật dữ liệu trong database MySQL bằng Python sử dụng thư viện mysql-connector-python.
Cách chuyển đổi file TensorFlow từ định dạng .pb sang .h5

Hướng dẫn chi tiết cách chuyển đổi mô hình TensorFlow từ định dạng file .pb sang .h5, giúp bạn dễ dàng lưu trữ và tải lại mô hình để sử dụng trong các ứng dụng machine learning.
Xóa nền cho hình ảnh bằng thư viện Rembg trong Python

Hướng dẫn chi tiết cách xóa nền cho hình ảnh bằng Python và thư viện Rembg. Bài viết bao gồm mã nguồn và giải thích từng dòng mã.
Tạo mã Captcha bằng Python

Hướng dẫn chi tiết cách tạo mã Captcha bằng Python sử dụng thư viện captcha. Bài viết sẽ giúp bạn hiểu cách tạo Captcha một cách đơn giản để bảo vệ các form khỏi spam và bot.
Gửi đoạn mã JavaScript vào website sử dụng Selenium trong Python

Hướng dẫn cách sử dụng Selenium trong Python để gửi đoạn mã JavaScript vào một trang web trên trình duyệt Chrome. Bài viết sẽ giúp bạn hiểu cách tương tác với các phần tử trên trang web và chạy mã JavaScript.
Các chức năng thường dùng khi sử dụng Selenium Chrome trong Python

Bài viết giới thiệu các chức năng thường dùng khi sử dụng Selenium với Chrome trong Python, giúp tự động hóa các tác vụ như tìm kiếm, tương tác với các phần tử trên trang web, và điều hướng trình duyệt.
Các hàm thường dùng trong thư viện Pandas và cách sử dụng chúng

Bài viết này liệt kê các hàm quan trọng trong thư viện Pandas của Python và cung cấp hướng dẫn cách sử dụng chúng. Đây là một công cụ mạnh mẽ giúp xử lý và phân tích dữ liệu trong Python.
Xóa nền xanh cho hình ảnh bằng Python

Hướng dẫn cách sử dụng Python để xóa phông xanh (chroma key) khỏi hình ảnh bằng thư viện OpenCV. Mã Python này giúp bạn loại bỏ nền xanh để thay thế bằng nền khác hoặc làm cho nó trở nên trong suốt.

Đã thêm vào giỏ hàng