PyQt5 Development

PyQt5 QLabel’ı Özümseme: Kapsamlı Bir Kılavuz

Spread the love

PyQt5 QLabel’ı Özümsemek: Kapsamlı Bir Kılavuz

QLabel bileşeni, PyQt5 GUI geliştirmenin temel taşlarından biridir ve metin ve resim görüntülemek için basit ama çok yönlü bir yol sunar. Bu öğretici, PyQt5 becerilerinizi geliştirmek için pratik örnekler ve en iyi uygulamalar sağlayarak işlevselliklerine dalmaktadır.

İçindekiler Tablosu

  1. QLabel Bileşenleri Oluşturma ve Görüntüleme
  2. Metin Stili: Yazı Tipleri, Renkler ve HTML
  3. Kesin Metin Hizalama
  4. QLabel ile Resim Görüntüleme
  5. Kelime Sarma ve Metin Boyutu Ayarlama
  6. Gelişmiş Teknikler: Sinyaller ve Yuvalar

1. QLabel Bileşenleri Oluşturma ve Görüntüleme

Metin görüntülemek için temel bir QLabel oluşturarak başlayalım. Bu, QLabel sınıfının örneğini oluşturmayı ve üst bileşenini ayarlamayı içerir.


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

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

Bu kod parçacığı, “Merhaba, PyQt5!” metninin görüntülendiği basit bir pencere oluşturur. QLabel, QWidget‘in bir alt bileşenidir ve pencere içinde doğru görüntülenmesini sağlar.

2. Metin Stili: Yazı Tipleri, Renkler ve HTML

Basit metin görüntülemenin ötesinde, QLabel’ın görünümünü önemli ölçüde özelleştirebilirsiniz. Yazı tipi stilini, renk değişikliklerini ve zengin metin biçimlendirmesi için HTML kullanımını inceleyelim.


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

app = QApplication(sys.argv)
window = QWidget()
label = QLabel("Merhaba, PyQt5!", window) # HTML kullanarak kalın metin
label.setFont(QFont('Arial', 14))
label.setStyleSheet("color: rgb(0, 128, 0);") # Yeşil metin rengi

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

Bu örnek, stil sayfaları kullanarak belirli bir yazı tipini (Arial, boyutu 14) ve yeşil bir rengi ayarlamayı göstermektedir. Etiketin metni içindeki kalın metin için HTML etiketlerinin () kullanımına dikkat edin.

3. Kesin Metin Hizalama

setAlignment() yöntemini ve Qt’nin hizalama bayraklarını kullanarak QLabel içindeki metnin konumunu kontrol edin.


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

app = QApplication(sys.argv)
window = QWidget()
label = QLabel("Ortalanmış Metin", window)
label.setAlignment(Qt.AlignCenter)  # Orta hizalama

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

Bu, metni ortalar. İnce ayarlı kontrol için Qt.AlignRight, Qt.AlignTop, Qt.AlignBottom ve bunların kombinasyonları gibi diğer bayrakları inceleyin.

4. QLabel ile Resim Görüntüleme

QLabel sadece metin için değil, aynı zamanda resim görüntülemek için de kullanılabilir. QPixmap nesnesi ile setPixmap() yöntemini kullanın.


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')  # Resim yolunuzu buraya yazın
label = QLabel(window)
label.setPixmap(pixmap)
label.setAlignment(Qt.AlignCenter)
label.show()
window.show()
sys.exit(app.exec_())

'path/to/your/image.png' öğesini resim dosyanızın gerçek yoluyla değiştirmeyi unutmayın.

5. Kelime Sarma ve Metin Boyutu Ayarlama

Uzun metin dizileri için, metnin etiketin sınırlarını aşmasını önlemek üzere kelime sarmasını etkinleştirin. Metni barındırmak için etiketin boyutlandırma ilkesini de ayarlayabilirsiniz.


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

app = QApplication(sys.argv)
window = QWidget()
label = QLabel("Kelime sarması gereken uzun bir metin dizisi.", window)
label.setWordWrap(True)  # Kelime sarmasını etkinleştir
label.adjustSize()       # Metne uyacak şekilde etiket boyutunu ayarla

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

setWordWrap(True) kelime sarmasını etkinleştirir ve adjustSize(), etiketin sarılmış metne uyacak şekilde otomatik olarak boyut değiştirmesini sağlar.

6. Gelişmiş Teknikler: Sinyaller ve Yuvalar

QLabel, uygulamanızın diğer bölümleriyle etkileşim sağlayan sinyaller gönderebilir. Örneğin, etiket tıklandığında işlemler gerçekleştirmek için bir sinyali bir yuvaya bağlayabilirsiniz.

(fare tıklama olayını kullanan örnek kısaltma için atlanmıştır, ancak PyQt5 dokümantasyonunda kolayca bulunabilir)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir