Python PyQt5 Modülü Kullanımı – 1

PyQt5 çok pencereli , arayüze sahip programlar geliştirmek için kodlanmış bir kütüphanedir.
Şimdi dilerseniz Python PyQt5 Kullanımı yazımıza başlayalım.
 

Python PyQt5 Kurulumu

 
Pythonumuza PyQt5 modülünü kurmak için komut satırına “pip install PyQt5”  komutunu yazmanız yeterlidir. 
 

Python PyQt5 Kullanmı

 

PyQt5 Pencere İşlemleri

 

Pencere Oluşturma 

PyQt5 kütüphanesini bilgisayarımıza kurduktan sonra projemize dahil etmemiz lazım bunun için şu komutu yazıyoruz: 
 
from PyQt5 import QtWidgets
 
şeklinde ihtiyacımız olan kütüphane bileşenini içeri aktardık.
 
Yanında sys modülünü de import edersek bize kolaylık sağlayacaktır. Onun için şu kodları yazmalıyız:
 
import sys
 
koduyla modülümüzü dahil ettik.
 
Daha sonra  QApplication nesnesi oluşturalım. Bu nesne programımızın ana taşı ilerde detaylı olarak açıklayacağız.
 
app = QtWidgets.QApplication(sys.argv)
 
kodlarıyla nesnemizi oluşturduk.
 
Daha sonra penceremizi oluşturalım. İşlemlerimizi bu pencere üzerinde gerçekleştireceğiz.
 
pencere = QtWidgets.QtWidget()
 
kodu ile penceremizi oluşturduk. Penceremizi ekrana yansıtmak için “pencere.show()” kodunu yazmalıyız bu sayede pencere ekrana yansıtılır. Ancak pencere yansıtıldığı gibi kapanır Python’da birçok modülde böyledir. Bunun için ise yukarıda tanımladığımız QApplication nesnesini kullanarak bir kod bloğu yazmalıyız.
 
app.exec_()
 
kodunu yazarsak penceremiz biz kapat tuşuna basınca kapatılır.
 
Tebrikler Python’da PyQt5 kullanarak ilk pencerenizi oluşturdunuz.
 
Ancak farkettiğiniz gibi QtWidgets, QtApplication yazmak biraz zor. Bunun için 
 
from PyQt5.QtWidgets import *”
 
kodunu yazarak QtWidgets yazmamız gereken yerlere hiç bir şey yazmadan geçebiliriz. 
 
PyQt5‘de birkaç farklı pencere türü var ancak şu anlık QtWidget bize yeterli.
 

Pencere Başlığı Ayarlama

PyQt5 kullanarak oluşturduğumuz pencerenin başlığını ayarlamak için şu kod bloğunu yazmamız yeterli:
 
pencere.setWindowTitle(“Kod Akademisi”)
 
bu kodla başlığı “Kod Akademisi” olan PyQt5 penceremiz oluşacak.
 
 
 

Pencere Boyutu Ayarlama

Eğer oluşturduğumuz pencerenin boyutunun değişmez olmasını istiyorsak 
 
pencere.setFixedSize(760,480)
 
koduyla penceremizin boyutunun 760×480 olmasını istedik, boyutu büyültülemez veya küçültülemez.
 
Eğer sadece genişliği sabit yapmak istiyorsak 
 
pencere.setFixedWidth(600)
 
koduyla genişliği değişmez bir pencere, eğer yüksekliği sabit bir pencere istiyorsak 
 
pencere.setFixedHeight(600)
 
koduyla yüksekliği değişmez bir pencere oluştururuz.
 
Eğer penceremiz açıldığında tam ekran olarak açılmasını istiyorsak
 
pencere.showMaximized()
 
kodunu kullanabiliriz.
 
Eğer penceremizin büyütülmez ama küçültülebilir olmasını istiyorsak.
 
pencere.setMaximumSize(760,480)
 
şeklinde yazarsak penceremizin en fazla büyüklüğü 760×480 olabilir, üstüne çıkamaz.
 
 
Eğer penceremizin belirli bir konumda açılmasını istiyorsak
 
pencere.move(200,200)
 
koduyla penceremiz en yukardan 200 piksel aşağıda, en soldan 200 piksel sağda olacaktır.
 
Eğer penceremizin arkaplanını değiştirmek istiyorsak 
 
pencere.setStyleSheet(“background-color :black”)
 
koduyla penceremizin arkaplanını siyah yaptık.
 
Eğer pencere açılırken istediğimiz bir boyutta açılmasını  istiyorsak 
 
pencere.setGeometry(0, 0, 400, 300)
 
koduyla yapabiliriz.
 

Pencere Simgesi Ayarlama

 
Oluşturduğumuz pencerenin bir simgesi olsun istiyorsak öncelikle QIcon sınıfını içe aktarmalıyız.
 
from PyQt5.QtGui import QIcon
 
daha sonra şu kodlarla beraber simgemizi ayarlarız:
 
pencere.setWindowIcon(QIcon(“simge.jpg”))
 
böylelikle simgemizi ayarladık. Unutmayın eğer fotoğraf aynı dizinde değilse çalışmaz.
 

PyQt5 QLabel

 
QLabel ile ekrana yazı  yazdırabiliriz. Öncelikle QLabel sınıfını import etmeliyiz.
 
from PyQt5.QtWidgets import QLabel 
 
koduyla dahil edebiliriz.
 
Daha sonra ekrana yazı yazdırmak için
 
QLabel(‘Kod Akademisi’)
 
koduyla ekrana yazımızı  yazdırdık.
 
Bir uyarı yapmak istiyorum. Bundan sonra nesne tabanlı olarak anlatacağım. Yukardaki yazdırdığımız yazıyı şu şekildede yazdırabilirdik:
 
from PyQt5.QtWidgets import *
import sys
 
class Pencere(QWidget):
    def __init__(self):
        super().__init__()
        yazı = QLabel(“Kod Akademisi”, self)
 
app = QApplication(sys.argv)
pencere = Pencere()
pencere.show()
app.exec_()
 
gördüğünüz gibi ekrana Kod Akademisi yazdırdık. Fakat burada QLabel’ı “Pencere” sınıfında kullandığımız  için “pencere = Pencere()” şeklinde oluşturduğumuz her pencerede Kod Akademisi  yazacak. Eğer bunu istemiyorsak QLabel’ı sınıf dışında kullanmalıyız.
 
 

Resim Dahil Etme 

 
Eğer bir resmi dahil etmek istiyorsak öncelikle QPixmap sınıfını dahil etmeliyiz. 
 

 

 
from PyQt5.QtGui import QPixmap

 

 
daha sonra 
 
pencere.setPixmap(QPixmap(“images/image.jpg”))
 
koduyla QPixmap sınıfını kullanıp resim ekledik.
 

Metin Hizalama

 
Ekrana  yazdırdığımız metni hizalamak için şu yöntemi uygulayabiliriz:
 
from PyQt5.QtCore import Qt
 
bu şekilde Qt sınıfını çağırdık.
 
Daha sonra hizalama için :
 
pencere.setAlignment(Qt.AlignCenter)
 
bu şekilde yazımız ortada gözükür.
 

Qlabel ile HTML

 
Qlabel sınıfını kullanarak HTML kodları yazıp yazımızı düzenleyebiliriz.
 
pencere.setText(“<p style=color:red>Kod Akademisi PyQt5 Modülü Kullanımı</p>”)
 
bu kodla birlikte yazımız kırmızı renkte gözükecek. Diğer tüm HTML özelliklerini kullanabiliriz.
 

QPushButton

QPushButton PyQt5 penceresinde buton oluşturmamıza izin veren bir sınıftır. Kullanmak için öncelikle butonumuzu tanımlamalıyız :
 
self.buton = QtWidgets.QPushButton(self)
 
butonumuzu oluşturduk. Fakat butonumuzun üstünde herhangi bir yazı bulunmuyor bunun içinde 
 
self.buton.setText(“Kod Akademisi”) 
 
kod bloğuyla butonumuzun üstüne “Kod Akademisi” yazdırdık.
 
Fakat oluşturduğumuz buton işlevsiz bir buton ,  örnek olarak tıkladığım arkaplanı siyah , butonun rengini yeşil yapan bir buton yapalım. Bunu yapabilmek için butonumuza şu kod bloğuyla bir işlev tanımlıyoruz:
 
self.buton.clicked.connect(self.tıkla)
 
böylelikle butonumuza tıklandığında “tıkla” isimli fonksiyon çağırılıcak. Tıkla fonksiyonumuzu tanımlayalım :
 
def tıkla(self):
    pencere.setStyleSheet(“background-color :black”)    
    self.buton.setStyleSheet(“background-color: green”)
 
Butona tıklanırsa pencerenin ve butonun arkaplanı belirlediğimiz renklere göre değişecektir.
 

QRadioButton

QRadioButton checkbox(onay kutusu)’nun sadece yuvarlak olanıdır. İster işaretler ister işaretlemezsiniz. Aşağıdaki resimde olduğu gibi :
PyQt5 Pencere Araçları - QRadioButton
 
Bunu oluşturmak için öncelikle en başa şu kodu yazmalıyız:
 
from PyQt5.QtWidgets import QRadioButton
 
diyerek QRadioButton’u içeri aktarıyoruz. 
 
Daha sonra radibutton oluyşturmak için şu kodu yazıyoruz:
 
buton = QRadioButton(“OK”, self)
 
OK yerine yazdığımız her şey kutucuğun yanında gözükür.Kodlarımızın resmi aşağıdaki gibi :
 
PyQt5 Pencere Araçları - QRadio Button
 
 
 

QCheckBox

Normal bir onay kutusu oluşturmak için öncelikle QCheckBox’u import ediyoruz.
 
from PyQt5.QtWidgets import QCheckBox
 
Daha sonra checkboxu oluşturmak için
 
kutu = QCheckBox(“OK”, self)
 
kodunu yazarız. Yine aynı şekilde OK yerine yazdığımız her şey kutucuğun yanında görünür.
 

QComboBox

QComboBox açılır menü oluşturmamıza imkan verir , aşağıdaki resimde olduğu gibi.
PyQt5 Pencere Araçları - ComboBox
 

Bunu oluşturmak için tüm araçlarda olduğu gibi öncelikle sınıfını import ediyoruz.

from PyQt5.QtWidgets import QComboBox
 
Daha sonra resimdeki gibi açılır menü oluşturmak için şu kodları yazıyoruz:
 
self.combo = QComboBox(self)
 
bu kodla boş bir açılır menü oluşturduk. İçerisine seçenek eklemek için
 
self.combo.addItem(“Python”)
self.combo.addItem(“HTML”)
self.combo.addItem(“C”)
self.combo.addItem(“C++“)
 
bu şekilde resimdekinin aynısı bir menü oluşturduk.
 

QSpinBox

QSpinBox  0’dan 100’e kadar bir değer seçmek için oluşturulan bir kutu. Aşağıdaki resimde olduğu gibi:
 
PyQt5 Pencere Araçları - QSpinBox
 
Oluşturmak için öncelikle ilgili sınıfı import ediyoruz.
 
from PyQt5.QtWidgets import QSpinBox
 
Daha sonra kutucuğumuzu oluşturmak için 
 
spinBox = QSpinBox(self)
 
kodunu yazıyoruz ve bu şekilde kutucuğumuz hazır.
 
Evet Python – PyQt5 modülü kullanımı yazımızın ilk bölümü bu kadar.
 
 

Yorum yapın