PyQt5 पर GUI कैसे बनाएं? Python में ग्राफिकल इंटरफ़ेस

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

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

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

PyQt5 क्या है और इसका उपयोग क्यों करें?

PyQt5, Qt लाइब्रेरी के लिए Python रैपर का एक सेट है। यह क्रॉस-प्लेटफ़ॉर्म ग्राफिकल यूज़र इंटरफ़ेस (GUI) बनाने के लिए सबसे लोकप्रिय टूल में से एक है। PyQt5 की मदद से डेवलपर्स आधुनिक डिज़ाइन और समृद्ध कार्यक्षमता वाले पेशेवर डेस्कटॉप एप्लिकेशन बना सकते हैं।

PyQt5 की मुख्य विशेषताएं

PyQt5 डेवलपर्स को कई शक्तिशाली सुविधाएं प्रदान करता है:

  • QtWidgets मॉड्यूल के माध्यम से कई तैयार विजेट
  • विंडो, बटन, इनपुट फ़ील्ड और लिस्ट के साथ काम करने की सुविधा
  • इवेंट-ड्रिवन प्रोग्रामिंग के लिए सिग्नल और स्लॉट सिस्टम
  • QGraphicsView के माध्यम से ग्राफिकल एलिमेंट्स के साथ एकीकरण
  • स्टाइल के साथ इंटरफ़ेस को कस्टमाइज़ करने की क्षमता
  • कई ऑपरेटिंग सिस्टम के लिए सपोर्ट

PyQt5 लाइब्रेरी को इंस्टॉल करना

PyQt5 को इंस्टॉल करने के लिए pip पैकेज मैनेजर का उपयोग करें:

pip install PyQt5

बेसिक एप्लिकेशन विंडो बनाना

PyQt5 पर हर एप्लिकेशन QApplication ऑब्जेक्ट बनाने से शुरू होता है। यह एप्लिकेशन का मुख्य ऑब्जेक्ट है जो सभी विंडो और इवेंट को मैनेज करता है। मुख्य विंडो QWidget के आधार पर बनाई जाती है।

import sys
from PyQt5.QtWidgets import QApplication, QWidget

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("सरल विंडो")
window.resize(300, 200)
window.show()
sys.exit(app.exec_())

QApplication किसी भी PyQt5 GUI एप्लिकेशन का अनिवार्य घटक है। यह सिस्टम इवेंट को प्रोसेस करता है और एप्लिकेशन के जीवनचक्र को मैनेज करता है।

मुख्य कंट्रोल एलिमेंट्स के साथ काम करना

QLineEdit - टेक्स्ट इनपुट फ़ील्ड

QLineEdit एक सिंगल-लाइन टेक्स्ट इनपुट फ़ील्ड है। इस विजेट का उपयोग यूज़र से इनपुट लेने के लिए व्यापक रूप से किया जाता है।

from PyQt5.QtWidgets import QLineEdit, QVBoxLayout, QPushButton

window = QWidget()
window.setWindowTitle("QLineEdit उदाहरण")

layout = QVBoxLayout()

line_edit = QLineEdit()
line_edit.setPlaceholderText("अपना नाम दर्ज करें")

button = QPushButton("सबमिट करें")

def on_click():
    print(f"नमस्ते, {line_edit.text()}!")

button.clicked.connect(on_click)

layout.addWidget(line_edit)
layout.addWidget(button)
window.setLayout(layout)
window.show()

इनपुट फ़ील्ड टेक्स्ट के साथ काम करने के लिए कई तरीके प्रदान करता है:

  • setText() - प्रोग्रामेटिक रूप से टेक्स्ट सेट करना
  • text() - दर्ज किया गया टेक्स्ट प्राप्त करना
  • setPlaceholderText() - प्लेसहोल्डर टेक्स्ट सेट करना
  • setMaxLength() - अधिकतम इनपुट लंबाई सीमित करना

QComboBox - ड्रॉपडाउन लिस्ट बनाना

QComboBox यूज़र को दी गई सूची में से एक विकल्प चुनने की सुविधा देता है।

from PyQt5.QtWidgets import QComboBox

combo = QComboBox()
combo.addItems(["विकल्प चुनें", "Python", "C++", "JavaScript"])

def on_selection_change(value):
    print(f"आपने चुना: {value}")

combo.currentTextChanged.connect(on_selection_change)

layout.addWidget(combo)

QComboBox कई उपयोगी तरीके प्रदान करता है:

  • addItem() - एक आइटम जोड़ना
  • addItems() - आइटम की सूची जोड़ना
  • currentText() - चयनित टेक्स्ट प्राप्त करना
  • currentIndex() - चयनित आइटम का इंडेक्स प्राप्त करना
  • clear() - सभी आइटम साफ़ करना

QCheckBox - चेकबॉक्स और सिग्नल के साथ काम करना

QCheckBox यूज़र को किसी विकल्प को चुनने या अचयनित करने की अनुमति देता है।

from PyQt5.QtWidgets import QCheckBox

checkbox = QCheckBox("शर्तों से सहमत हूं")

def on_checkbox_state(state):
    if state:
        print("चेकबॉक्स चिह्नित है")
    else:
        print("चेकबॉक्स अचिह्नित है")

checkb                

ब्लॉग

पुस्तक अनुशंसाएँ