PyQt5 Development

PyQt5 QLabel में महारथ: एक व्यापक गाइड

Spread the love

PyQt5 QLabel में महारथ: एक व्यापक गाइड

PyQt5 GUI विकास में QLabel विजेट एक आधारशिला है, जो पाठ और छवियों को प्रदर्शित करने का एक सरल लेकिन बहुमुखी तरीका प्रदान करता है। यह ट्यूटोरियल इसकी कार्यक्षमताओं में तल्लीन करता है, आपके PyQt5 कौशल को बढ़ाने के लिए व्यावहारिक उदाहरण और सर्वोत्तम अभ्यास प्रदान करता है।

विषयवस्तु की तालिका

  1. QLabel विजेट बनाना और प्रदर्शित करना
  2. पाठ शैलीकरण: फ़ॉन्ट, रंग और HTML
  3. सटीक पाठ संरेखण
  4. QLabel के साथ चित्र प्रदर्शित करना
  5. शब्द रैपिंग और पाठ आकार समायोजन
  6. उन्नत तकनीकें: सिग्नल और स्लॉट

1. QLabel विजेट बनाना और प्रदर्शित करना

आइए पाठ प्रदर्शित करने के लिए एक बुनियादी QLabel बनाकर शुरुआत करते हैं। इसमें QLabel वर्ग का उदाहरण बनाना और उसके पैरेंट विजेट को सेट करना शामिल है।


import sys
from PyQt5.QtWidgets import QApplication, QLabel, QWidget

app = QApplication(sys.argv)
window = QWidget()
label = QLabel("Hello, PyQt5!", window)
label.show()
window.show()
sys.exit(app.exec_())

यह कोड स्निपेट “Hello, PyQt5!” पाठ के साथ एक साधारण विंडो बनाता है। QLabel, QWidget का एक चाइल्ड है, जो विंडो के अंदर उचित प्रदर्शन सुनिश्चित करता है।

2. पाठ शैलीकरण: फ़ॉन्ट, रंग और HTML

साधारण पाठ प्रदर्शन से परे, आप QLabel की उपस्थिति को महत्वपूर्ण रूप से अनुकूलित कर सकते हैं। आइए फ़ॉन्ट शैलीकरण, रंग परिवर्तन और समृद्ध पाठ स्वरूपण के लिए HTML के उपयोग का पता लगाते हैं।


import sys
from PyQt5.QtWidgets import QApplication, QLabel, QWidget
from PyQt5.QtGui import QFont, QColor

app = QApplication(sys.argv)
window = QWidget()
label = QLabel("Hello, PyQt5!", window) # HTML का उपयोग करके बोल्ड टेक्स्ट
label.setFont(QFont('Arial', 14))
label.setStyleSheet("color: rgb(0, 128, 0);") # हरा टेक्स्ट रंग

label.show()
window.show()
sys.exit(app.exec_())

यह उदाहरण एक विशिष्ट फ़ॉन्ट (Arial, आकार 14) और स्टाइलशीट का उपयोग करके एक हरा रंग सेट करना दर्शाता है। लेबल के टेक्स्ट के भीतर बोल्ड टेक्स्ट के लिए HTML टैग () के उपयोग पर ध्यान दें।

3. सटीक पाठ संरेखण

setAlignment() विधि और Qt के संरेखण ध्वजों का उपयोग करके QLabel के भीतर पाठ की स्थिति को नियंत्रित करें।


import sys
from PyQt5.QtWidgets import QApplication, QLabel, QWidget
from PyQt5.QtCore import Qt

app = QApplication(sys.argv)
window = QWidget()
label = QLabel("Centered Text", window)
label.setAlignment(Qt.AlignCenter)  # केंद्र संरेखण

label.show()
window.show()
sys.exit(app.exec_())

यह पाठ को केंद्रित करता है। सूक्ष्म नियंत्रण के लिए Qt.AlignRight, Qt.AlignTop, Qt.AlignBottom, और उनके संयोजनों जैसे अन्य ध्वजों का अन्वेषण करें।

4. QLabel के साथ चित्र प्रदर्शित करना

QLabel केवल पाठ के लिए नहीं है; यह चित्र भी प्रदर्शित कर सकता है। QPixmap ऑब्जेक्ट के साथ setPixmap() विधि का उपयोग करें।


import sys
from PyQt5.QtWidgets import QApplication, QLabel, QWidget
from PyQt5.QtGui import QPixmap
from PyQt5.QtCore import Qt

app = QApplication(sys.argv)
window = QWidget()
pixmap = QPixmap('path/to/your/image.png')  # अपनी छवि पथ से बदलें
label = QLabel(window)
label.setPixmap(pixmap)
label.setAlignment(Qt.AlignCenter)
label.show()
window.show()
sys.exit(app.exec_())

अपनी छवि फ़ाइल के वास्तविक पथ के साथ 'path/to/your/image.png' को बदलना याद रखें।

5. शब्द रैपिंग और पाठ आकार समायोजन

लंबे टेक्स्ट स्ट्रिंग के लिए, लेबल की सीमाओं से टेक्स्ट के अतिप्रवाह को रोकने के लिए वर्ड रैपिंग सक्षम करें। आप टेक्स्ट को समायोजित करने के लिए लेबल की आकार नीति को भी समायोजित कर सकते हैं।


import sys
from PyQt5.QtWidgets import QApplication, QLabel, QWidget
from PyQt5.QtCore import Qt

app = QApplication(sys.argv)
window = QWidget()
label = QLabel("यह एक लंबा टेक्स्ट स्ट्रिंग है जिसे वर्ड रैपिंग की आवश्यकता है।", window)
label.setWordWrap(True)  # वर्ड रैपिंग सक्षम करें
label.adjustSize()       # टेक्स्ट फिट करने के लिए लेबल का आकार समायोजित करें

label.show()
window.show()
sys.exit(app.exec_())

setWordWrap(True) वर्ड रैपिंग को सक्रिय करता है, और adjustSize() यह सुनिश्चित करता है कि लेबल स्वचालित रूप से लिपटे हुए टेक्स्ट को फिट करने के लिए आकार बदल लेता है।

6. उन्नत तकनीकें: सिग्नल और स्लॉट

QLabel सिग्नल उत्सर्जित कर सकता है, जिससे आपके एप्लिकेशन के अन्य भागों के साथ बातचीत करने में सक्षम होता है। उदाहरण के लिए, आप लेबल पर क्लिक करने पर क्रियाएँ करने के लिए एक सिग्नल को स्लॉट से कनेक्ट कर सकते हैं।

(संक्षिप्तता के लिए mousePressEvent का उपयोग करके उदाहरण छोड़ा गया है, लेकिन PyQt5 दस्तावेज़ में आसानी से मिल सकता है)

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *