
Şu ana kadar kodlarımızı hep konsol ekranında çalıştırdık. Ancak gerçek dünyada programların çok azı konsol ekranında çalışır. Programların çoğu bir grafik arayüz tarafından kontrol edilir.
Bu grafik arayüzde butonlar, listeler, input alanları gibi grafik ögeler ile olur.
Python da grafik arayüzler genellikle Tkinder ve PyQt5 kütüphaneleri kullanılarak yapılır.
Biz bu dersimizde PyQT5 kütüphanesi kullanılarak nasıl grafik arayüze sahip programlar yapabiliriz konusu öğreneceğiz.
O zaman hemen bilgisayarının başınıza geçip çayınızı veya kayvenizi alın. Başlıyoruz…
Öncelikle bilgisayarımıza PyQt5 kütüphanesini kurmamız gerekiyor. Bunun için aşağıdaki kodu konsol ekranında çalıştırıyoruz.
pip install PyQt5

Kütüphane kurulduktan sonra görsel ögeler tasarlamaya başlayabiliriz.
Basit Bir Pencere Yapalım
Aşağıdaki iki örnek kod birhankarahasan.com internet sitesinden alınmıştır.
import sys from PyQt5.QtWidgets import QApplication, QWidget app = QApplication(sys.argv) pencere = QWidget() pencere.resize(500, 500) pencere.move(700, 100) pencere.setWindowTitle('Basit Pencere') pencere.show() sys.exit(app.exec_())
Nesne Yönelimli Bir Hale Getirelim
import sys from PyQt5.QtWidgets import QWidget, QApplication class Pencere(QWidget): def __init__(self): super().__init__() self.ozellikEkle() def ozellikEkle(self): self.resize(500, 500) self.move(700, 100) self.setWindowTitle('Basit Pencere') app = QApplication(sys.argv) pencere = Pencere() pencere.show() sys.exit(app.exec_())
Kodlar hakkında detaylı bilgi için
https://birhankarahasan.com/pyqt-nedir-qt-designer-nedir-python-arayuz-olusturma

Gördüğünüz gibi python da kod yarak bu şekilde grafik arayüzler oluşturabiliyoruz.
Ancak bir pencere için bu kadar kod mu yazacağız dediğinizi duyar gibiyim.
Bunun için endişelenmenize gerek yok. Çünkü bu işleri kolaylaştıran bir program var: Qt Designer
Qt Designer ile kod yazmadan kolay bir şekilde grafik arayüzler oluşturabiliyoruz.
veya
Konsol ekranına aşağıdaki kodu yazarak kurulum yapabilrsiniz.
pip install pyqt5designer
Programı Başlatma
Bilgisayarımızdan Qt Designer programını tıklayarak açıyoruz.

Program ilk açıldığında karşımıza bir seçim ekranı gelecektir.
Programımız eğer birden çok üst menülerden oluşacak şekilde yapacaksak(genelde böyle olur) Main Window seçerek başlıyoruz.

Üst alandan programımızın menülerini düzenleyebiliriz.

İstersek bu menülere kısayol tanımlayabiliriz.

ÖRNEK PROJE NOT DEFTERİ PROGRAMI


Aynı zamanda Object Name isimlerini değiştirmeyi unutmuyoruz. Çünkü python ile bu isimler aracılığıyla iletişim kurulur.


Son olarak dosyayı grafik.ui olarak kaydediyorum.
Şimdi grafik.ui dosyasını kaydettiğim yerin yanında ornek.py dosyasını açıyorum ve içine aşağıdaki kodları yazıyorum.
import sys from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5 import uic class Pencere(QMainWindow): def __init__(self): super().__init__() # miras alınan sınıfın (QMainWindow) __init__ fonksiyonunu çağırma uic.loadUi('grafik.ui', self) # ui dosyasını yükleme app = QApplication(sys.argv) pencere = Pencere() pencere.show() sys.exit(app.exec_())
python ornek.py
diyerek kodlarımızı çalıştıyoruz.
Kodumuzu çalıştırdıktan sonra aşağıdakine benzer bir ekran gelecektir.

Artık butonlarımıza bastığımızda neler yapılmasın istiyorsak yapabiliriz.
from PyQt5.QtWidgets import QApplication, QMainWindow import sys from PyQt5 import uic class Pencere(QMainWindow): def __init__(self): super().__init__() # self.setupUi(self) uic.loadUi('grafik.ui', self) # ui dosyasını yükleme self.labelDeneme.hide() self.pushKaydetBtn.clicked.connect(self.kaydet) self.pushTemizleBtn.clicked.connect(self.temizle) def kaydet(self): #yazi = self.yaziEdt.text() yazi = self.yaziEdt.toPlainText() #.setPlainText() self.labelDeneme.setText(yazi) self.labelDeneme.show() def temizle(self): self.labelDeneme.setText("") self.labelDeneme.hide() app = QApplication(sys.argv) pencere = Pencere() pencere.show() sys.exit(app.exec_())

Örnek Kod