Pyqt6 Docs Online
1. What is PyQt6? PyQt6 is a set of Python bindings for Qt6, a powerful cross-platform application framework. It allows you to create desktop applications with native-looking GUIs using Python.
def on_button_clicked(): print("Button was clicked!") button.clicked.connect(on_button_clicked) Lambda with parameters button.clicked.connect(lambda: print("Custom action")) 6. Layout Management Never use fixed positions. Layouts automatically resize and reposition widgets. pyqt6 docs
layout = QVBoxLayout() label = QLabel("Welcome to PyQt6!") layout.addWidget(label) self.setLayout(layout) if == " main ": app = QApplication(sys.argv) window = FirstWindow() window.show() sys.exit(app.exec()) 4. Core Module Structure | Module | Purpose | |--------|---------| | PyQt6.QtCore | Core non-GUI functionality (signals, threads, files) | | PyQt6.QtGui | GUI foundations (fonts, colors, images, windows) | | PyQt6.QtWidgets | Desktop UI widgets (buttons, labels, dialogs) | | PyQt6.QtMultimedia | Audio/video playback and recording | | PyQt6.QtNetwork | TCP/IP, UDP, HTTP networking | | PyQt6.QtSql | Database integration (SQL) | | PyQt6.QtWebEngineWidgets | Web browser engine | 5. Signals & Slots (Event Handling) PyQt6 uses a signals-and-slots mechanism for communication between objects. It allows you to create desktop applications with
from PyQt6.QtWidgets import QPushButton button = QPushButton("Click Me") Layouts automatically resize and reposition widgets
from PyQt6.QtWidgets import QHBoxLayout, QVBoxLayout, QPushButton vbox = QVBoxLayout() vbox.addWidget(QPushButton("Top")) vbox.addWidget(QPushButton("Bottom")) Horizontal layout hbox = QHBoxLayout() hbox.addWidget(QPushButton("Left")) hbox.addWidget(QPushButton("Right")) Nested layouts main_layout = QVBoxLayout() main_layout.addLayout(hbox) main_layout.addLayout(vbox) 7. Common Widgets Quick Reference | Widget | Purpose | |--------|---------| | QLabel | Text/image display | | QPushButton | Clickable button | | QLineEdit | Single-line text input | | QTextEdit | Multi-line text input | | QComboBox | Dropdown selection | | QCheckBox | Toggle option | | QRadioButton | Exclusive choice | | QSlider | Value selection | | QProgressBar | Progress indication | 8. Key Differences from PyQt5 | PyQt5 | PyQt6 | Notes | |-------|-------|-------| | QtCore.pyqtSignal | QtCore.pyqtSignal | Same syntax | | QtCore.pyqtSlot | QtCore.pyqtSlot | Same syntax | | QtWidgets.QApplication | QtWidgets.QApplication | Same | | exec_() | exec() | Method renamed | | QRegExp | QRegularExpression | Regex engine changed | | Enum usage | Qt.AlignmentFlag | Enums require full flag specification |