Python ile Grafik Arayüz Hazırlama – Qt Designer

Ş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.

Öncelikle programı bilgisayarımıza kuralım. Bunun için buraya tıklayıp programı indirip daha sonra da kurabilirsiniz.

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

Yayınlayan

Ahmet KADAK

Bilgisayar Öğretmeni & Bilgisayar Mühendisi

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir