Hướng dẫn làm giao diện ứng dụng Python bằng PyQT6

Hướng dẫn chi tiết cách tạo giao diện ứng dụng đơn giản bằng PyQT6 trong Python, kèm theo các bước cài đặt và giải thích từng dòng code.

Bài viết này hướng dẫn cách tạo một giao diện ứng dụng đơn giản bằng PyQT6 trong Python. Bạn sẽ tìm hiểu cách thiết lập cửa sổ chính, thêm các thành phần cơ bản, và cách xử lý sự kiện trong giao diện.

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, QVBoxLayout, QPushButton  # Nhập các lớp cần thiết từ PyQt6

# Tạo một lớp MyApp kế thừa từ QWidget
class MyApp(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('Ứng dụng PyQT6 đầu tiên')  # Đặt tiêu đề cho cửa sổ ứng dụng
        self.setGeometry(100, 100, 400, 300)  # Đặ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 một label vào layout
        self.label = QLabel('Chào mừng đến với PyQT6!', self)
        layout.addWidget(self.label)

        # Tạo và thêm một nút bấm vào layout
        self.button = QPushButton('Nhấn vào tôi', self)
        self.button.clicked.connect(self.onButtonClick)  # Kết nối sự kiện nhấn nút với hàm onButtonClick
        layout.addWidget(self.button)

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

    # Định nghĩa hàm xử lý sự kiện khi nút được nhấn
    def onButtonClick(self):
        self.label.setText('Bạn đã nhấn nút!')  # Thay đổi nội dung của label

# Phần main của ứng dụng
if __name__ == '__main__':
    app = QApplication(sys.argv)  # Khởi tạo đối tượng QApplication
    myApp = MyApp()  # Tạo một đối tượng từ lớp MyApp
    myApp.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 để tương tác với trình thông dịch Python.
  2. from PyQt6.QtWidgets import ...: Nhập các lớp cần thiết từ thư viện PyQt6.
  3. class MyApp(QWidget): Định nghĩa lớp MyApp kế thừa từ QWidget.
  4. def __init__(self): Hàm khởi tạo của lớp MyApp.
  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 một layout dọc.
  9. self.label = QLabel('...'): Tạo label và thêm vào layout.
  10. self.button = QPushButton('...'): Tạo nút bấm và kết nối sự kiện clicked.
  11. self.onButtonClick: Định nghĩa hàm xử lý khi nút được nhấn.
  12. app = QApplication(sys.argv): Khởi tạo ứng dụng.
  13. myApp.show(): Hiển thị ứng dụng.
  14. sys.exit(app.exec()): Bắt đầu vòng lặp sự kiện chính của ứng dụng.

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 nên thử thay đổi kích thước cửa sổ, tiêu đề, và các thành phần để hiểu rõ hơn về cách PyQT6 hoạt động.
  • Tìm hiểu thêm về các layout khác như QHBoxLayout, QGridLayout để có thêm nhiều tùy chọn trong việc thiết kế giao diện.


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

Xác thực bằng JSON Web Token (JWT) trong Python

Hướng dẫn về cách sử dụng JSON Web Token (JWT) để xác thực trong ứng dụng Python. Bài viết sẽ giới thiệu cách tạo và xác thực token trong một ứng dụng web để bảo vệ API.
Cách INSERT dữ liệu vào database MySQL bằng Python

Hướng dẫn cách chèn dữ liệu vào bảng trong database MySQL bằng Python sử dụng thư viện mysql-connector-python.
Cách tự động đăng nhập vào website sử dụng Selenium với Chrome trong Python

Hướng dẫn cách sử dụng thư viện Selenium trong Python để tự động đăng nhập vào một website bằng Chrome. Bài viết bao gồm hướng dẫn từng bước và mã Python hoàn chỉnh.
Cách mở ứng dụng Notepad bằng Python

Bài viết hướng dẫn cách sử dụng Python để mở ứng dụng Notepad trên hệ điều hành Windows. Phương pháp này rất hữu ích khi muốn tự động hóa các thao tác mở ứng dụng từ mã Python.
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 loại bỏ MultiIndex columns trong Pandas

Bài viết này hướng dẫn cách loại bỏ các cột MultiIndex trong DataFrame của Pandas, một tính năng hữu ích khi làm việc với dữ liệu phức tạp có nhiều chỉ mục. Bạn sẽ học cách làm phẳng MultiIndex hoặc loại bỏ chúng hoàn toàn.
Loại bỏ khoảng trống của hình ảnh (trim image) bằng Python

Hướng dẫn cách sử dụng Python để loại bỏ khoảng trống xung quanh hình ảnh (trim image) bằng thư viện OpenCV. Mã Python này giúp cắt bớt các vùng trắng hoặc khoảng trống xung quanh ảnh để làm nổi bật nội dung chính.
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á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.
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.

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