PyQt5 Nedir, Nasıl Kullanılır, Ne işe yarar?
PyQt5, Python programlama dilinde yazılmış bir GUI (Graphical User Interface) kitaplığıdır. Bu kitaplık, Qt kütüphanesi üzerine kurulmuştur ve modern bir arayüz tasarımı için çeşitli özellikler sunar.
PyQt5 Bileşenleri
QtCore
QtCore, PyQt5'nin temel bileşenlerinden biridir ve çeşitli veri tipleri, thread’ler, zamanlama ve diğer temel fonksiyonları içerir.
Örnek olarak, aşağıdaki kod QtCore ile bir QTimer nesnesi oluşturarak bir zamanlayıcı oluşturur:
QtGui
QtGui, PyQt5'in grafik, renk, fırça ve diğer temel grafik öğeleriyle ilgili özellikleri içerir.
Örnek olarak, aşağıdaki kod QtGui kullanarak bir QPixmap nesnesi oluşturur ve bir QLabel öğesine yerleştirir:
QtWidgets
QtWidgets, PyQt5'in GUI öğelerini içerir, örneğin pencere, düğme, etiket ve diğer temel öğeler.
Örnek olarak, aşağıdaki kod QtWidgets kullanarak bir pencere oluşturur:
Bu kod, bir PyQt5 uygulaması oluşturur, daha sonra QWidget sınıfından bir pencere oluşturur ve pencereyi ekranda gösterir.
Arayüz Tasarımı ve Kodlama
PyQt5, Qt Designer adlı bir araç içerir. Qt Designer, PyQt5 uygulamaları için görsel olarak bir arayüz tasarlamanıza olanak tanır. Tasarımın kaydedilmesi, bir .ui dosyası oluşturulmasına neden olur. Bu dosya, PyQt5 ile birlikte kullanılan bir araç olan pyuic5 tarafından dönüştürülür.
PyQt5 ile arayüz oluşturmak için öncelikle PyQt5 modülünün yüklenmesi gereklidir. İşletim sisteminize uygun PyQt5 sürümünü seçerek yükleyebilirsiniz.
Ardından, oluşturduğunuz tasarım dosyasını yükleyebilirsiniz:
Bu örnekte, PyQt5 uic modülü kullanılarak bir arayüz tasarım dosyası yüklenir. Ardından, findChild() yöntemi kullanılarak arayüz öğelerine erişmek için öğe adlarına göre referanslar oluşturulur. Daha sonra, düğmeye tıklama işlemini işleyen bir işlev tanımlanır ve düğme tıklama olayını işleyiciye bağlanır. Son olarak, pencere gösterilir ve uygulama çalıştırılır.
Burada dikkat edilmesi gereken şey, arayüz tasarım dosyası ile PyQt5 arasındaki bağlantının sağlanmasıdır. Bu örnekte, uic.loadUi() yöntemi kullanılarak arayüz tasarım dosyası yüklenir. Bu yöntem, arayüzde tanımlanan öğelerin adlarına göre değişkenler oluşturur ve bunları pencere nesnesine ekler.
Arayüz tasarım dosyalarını kullanmak, arayüzlerin hızlı bir şekilde oluşturulmasına ve daha iyi bir kod organizasyonuna yardımcı olur. Ayrıca, tasarım değişiklikleri yapmak için arayüz tasarım dosyasını düzenlemeniz yeterlidir, kodda herhangi bir değişiklik yapmanız gerekmez.
Aşağıdaki örnekte, QMainWindow sınıfından bir ana pencere oluşturacağız ve burada basit bir düğme ekleyeceğiz. Bu düğmeye tıklandığında bir diyalog kutusu açılacak.
Burada, QMainWindow sınıfından bir ana pencere oluşturuyoruz ve “Click me!” adlı bir düğme ekliyoruz. Düğmeye tıklandığında, show_dialog()
metodunu çağırıyoruz. Bu metod bir diyalog kutusu oluşturur ve görüntüler.
Diyalog kutusu, QDialog sınıfından türetilir. QDialog, kullanıcının bir seçim yapmasını bekleyen bir iletişim kutusu veya bir mesaj kutusu oluşturmak için kullanılır.
Uygulama çalıştırıldığında, ana pencere görüntülenir ve “Click me!” düğmesi görüntülenir. Düğmeye tıklandığında, “Hello World!” başlıklı bir diyalog kutusu açılır.
SONUÇ
PyQt5, Python programcılarının güzel ve işlevsel grafik arayüzler oluşturmalarına olanak tanır. PyQt5, zengin bir özellik setine sahiptir ve Qt Designer aracı ile görsel olarak arayüz tasarlamayı kolaylaştırır. Başlangıçta kafa karıştırıcı olsa da, PyQt5 ile oluşturulan arayüzler oldukça özelleştirilebilir ve esnek bir şekilde çalışabilir.