PyQt/PySide – डेस्कटॉप ऐप डेवलपमेंट: Python GUI ट्यूटोरियल

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय

PyQt और PySide Python में Qt फ्रेमवर्क का उपयोग करके क्रॉस-प्लेटफॉर्म ग्राफिकल इंटरफ़ेस बनाने के लिए शक्तिशाली लाइब्रेरी हैं। ये Qt के समृद्ध टूलसेट तक पहुंच प्रदान करते हैं: विजेट, इवेंट सिस्टम, स्टाइल, एनिमेशन, डेटाबेस के साथ काम करना और आधुनिक इंटरफ़ेस बनाने के लिए QML भी।

PyQt और PySide के बीच मुख्य अंतर लाइसेंसिंग का है: PyQt के लिए GPL या कमर्शियल लाइसेंस आवश्यक है, जबकि PySide (Qt Company का आधिकारिक कार्यान्वयन) अधिक उदार LGPL के तहत वितरित किया जाता है, जो इसे व्यावसायिक परियोजनाओं के लिए पसंदीदा बनाता है।

इस विस्तृत गाइड में, हम इन लाइब्रेरीज़ के साथ काम करने के सभी पहलुओं को कवर करेंगे: इंस्टॉलेशन और सरल इंटरफ़ेस बनाने से लेकर डेटाबेस, स्टाइलिंग और तैयार ऐप बिल्ड करने तक।

इंस्टॉलेशन और सेटअप

PyQt5 और PyQt6 इंस्टॉल करना

# PyQt5 (स्थिर संस्करण)
pip install pyqt5 pyqt5-tools

# PyQt6 (आधुनिक संस्करण)
pip install pyqt6 pyqt6-tools

PySide2 और PySide6 इंस्टॉल करना

# PySide2 (Qt 5 के लिए)
pip install pyside2

# PySide6 (अनुशंसित संस्करण)
pip install pyside6

इंस्टॉलेशन जांचें

# PyQt5 के लिए
from PyQt5.QtWidgets import QApplication
print("PyQt5 सफलतापूर्वक इंस्टॉल हुआ")

# PySide6 के लिए
from PySide6.QtWidgets import QApplication
print("PySide6 सफलतापूर्वक इंस्टॉल हुआ")

ऐप बनाने की मूल बातें

बटन के साथ सरल विंडो

PyQt5 संस्करण

from PyQt5.QtWidgets import QApplication, QPushButton, QVBoxLayout, QWidget
import sys

class MainWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('मेरा पहला PyQt5 ऐप')
        self.setGeometry(100, 100, 300, 200)
        
        layout = QVBoxLayout()
        button = QPushButton('मुझे दबाएं')
        button.clicked.connect(self.on_click)
        layout.addWidget(button)
        
        self.setLayout(layout)
    
    def on_click(self):
        print("बटन दबाया गया!")

app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())

PySide6 संस्करण

from PySide6.QtWidgets import QApplication, QPushButton, QVBoxLayout, QWidget
import sys

class MainWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('मेरा पहला PySide6 ऐप')
        self.setGeometry(100, 100, 300, 200)
        
        layout = QVBoxLayout()
        button = QPushButton('मुझे दबाएं')
        button.clicked.connect(self.on_click)
        layout.addWidget(button)
        
        self.setLayout(layout)
    
    def on_click(self):
        print("बटन दबाया गया!")

app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())

Qt ऐप की आर्किटेक्चर

मुख्य घटक

QApplication किसी भी Qt ऐप का केंद्रीय ऑब्जेक्ट है। यह इवेंट लूप को प्रबंधित करता है, सिस्टम इवेंट को हैंडल करता है और सभी विजेट्स के काम को समन्वित करता है।

QWidget सभी यूज़र इंटरफ़ेस तत्वों के लिए बेस क्लास है। यह अन्य विजेट्स को शामिल कर सकता है और कंटेनर के रूप में काम कर सकता है।

QMainWindow मुख्य ऐप विंडो बनाने के लिए एक विशेष विजेट है, जो मेनू, टूलबार, स्टेटस बार और सेंट्रल विजेट को सपोर्ट करता है।

QDialog डायलॉग बॉक्स बनाने के लिए क्लास है, जिसमें मोडल और नॉन-मोडल डायलॉग शामिल हैं।

ऐप का जीवनचक्र

  1. QApplication का इंस्टेंस बनाना
  2. विजेट्स बनाना और कॉन्फ़िगर करना
  3. मुख्य विंडो प्रदर्शित करना
  4. exec() या exec_() के माध्यम से इवेंट लूप शुरू करना
  5. ऐप समाप्त करना

अनुशंसाएँ