
Python Nedir ?
Python, günümüzde sıkça kullanılan popüler genel amaçlı bir programlama dilidir.
Python ile Web Programlama , Gui Çerçevesinde Programlama ( Nesne Tabanlı Programlama ) , Komut İstemi Yazılımları ve Mobil uygulamalar yapabiliyoruz
Bu Dil ilk olarak 1991’de Python 0.9.0 olarak yayınlanmıştır.
Python 2.0 2000 yılında piyasaya sürülmüştür ve list kavramı , döngüler , referans sayımı ve Unicode desteği gibi yeni özellikler geldi.
2008 yılında piyasaya sürülen Python 3.0 versiyonu , önceki sürümlerle tamamen geriye dönük ve uyumlu olmayan bir güncellemeydi.

Python Qt5 Nedir ?
PyQt5, Qt Designer veya Qt araç setini kullanarak Nesne Tabanlı uygulamalar ( GUI ) oluşturmak için kullanılan C++ ile yazılan bir Python Kütüphanesidir kısacası GUI Araç setidir diyebiliriz.
PyQt, Riverbank Computing tarafından oluşturulmuştur , tamamen ücretsizdir aynı zamanda GPL Lisanslıdır ve 1999 Yılından beri aktif olarak geliştirmektedir.
PyQt5 ise 2016 yılında piyasya sürülmüş olup en son Ekim 2021’de Güncellenmiştir.
Aktif kullanımda olan iki ana sürüm vardır : PyQt5 ve PyQt6, her ikim sürüm de tamamen uyumludur.
PyQt6 ad alanlarının ve Flag’lerin çalışma biçiminde bazı değişiklikler yapar buna rağmen kolayca yönetilebilir.
PyQt5 ile SQL Tabanlı veri tabanlarına erişim sağlayabiliriz Python bize bu kolaylığı da sunmuş örneğin; MySQL – PostgreSQL – SQLite – Oracle – ODBC veri tabanlarına SQL Class’ları ile erişim sağlamak çok basit.
Bağladığınız bir veritabanında değişiklik yaptığınızda anlık olarak değiştirilen verilere duyarlı hale gelir.
Ölçeklendirilebilir Vektörel Grafikler için desteği bulunmaktadır yani XML Tabanlı tasarımlar yaptığınızda PyQt5 kolayca tanıyabilir.
PyQt Ana Bileşenleri Nelerdir ?
QtCore Module
Olay döngüsünü ve Kütüphanenin signal-slot mekanizmasını içermektedir. Ek olarak iş parçacıkları , eş dosyalar , bellek paylaşımı , kullanıcı ve uygulama ayarlarını içerir
QtGui Module
GUI Sınıfılarını içeren bir modüldür, tasarım modellerine uyarlı bir table , tree ve list sınıfı içerir.
QtNetwork Module
Bu modül, UDP – TCP İstemcilerini yazmak için Class’lar içerir.
Aynı Zamanda FTP istemcilierini çalıştıran ve DNS ayarlarını destekleyen Class’lar içerir kısacası Network’de işimize yaran tüm Class’lar bu modülde bulunmaktadır.
QtOpenGL Module
Qt içerisinde OpenGL yani grafik geliştirme arabirimini kullamamıza yarayan Class’ları içeren modüldür.
QtSql Module
Qt5 uygulamaları içerisinde, SQL Veritabanlarını bağlayabileceğimiz Class’ları içermektedir.
Bu sınıflar ile GUI İçerisinde kullanılabilen SQL tablolarını düzenleyebilişiniz ve veri modelleri ekleyebilirsiniz.
Ek olarak Modül içerisinde bir SqlLite uygulaması da bulunmaktadır.
QtSvg Module
SVG Dosyalarının içeriğini görüntüleyebileceğimiz bir PyQt5 modülüdür.
QT’nin önemli modüllerini öğrendik , Qt5’in Sahip olduğu modüller’de aşağıdaki gibidir
- QtQml
- QtQuick
- QtCore
- QtGui
- GtPrintSupport Module
- QtWidgets ( Arayüz Elemanları ) Module
- QGL Context Module
- QGL Format Module
- QGL Widget Module
- QtWebKit Module
- QtWebKitWidgets ( Web Tabanlı Arayüz Elemanları ) Module
PyQt5 Neden Kullanılır ?
PyQt5 grafik tabanlı arayüzü bulunan programlar oluşturmamıza yarar.
PyQt5 ile XML İşleme modelleri de yapabiliriz aynı zamanda Network iletişim desteğini de Kütüphanesinde barındırır
PyQt5 Ve Tkinter Karşılaştırması
PyQt5, Tkinter’a nazaran daha hızlıdır ve PyQt5 ile daha kolay arayüz tasarlayabiliriz, şahsen Tkinter kullanırken zorlandım çünkü PyQt5 kadar bi öğrenim kaynağı bulunmuyor.
İki Kütüphanenin de mantığı hemen hemen aynıdır, ikisiyle de Arayüz uygulamaları oluşturabiliyoruz.
Gerçekten elle tutulabilir fark aramak yanlış olur çünkü PyQt5 mi Yoksa Tkinter mı kullanmalıyım derseniz bu sizin gereksinimlerinize göre değişiklik gösterebilecek bir unsurdur
Ama Yazılım piyasasına bakacak olursak çoğu yazılımcı Kaliteli bir sonuç almak istediğinde PyQt Ve versiyonlarını kullanmaktadır işlevsel olarak daha kalitelidir diyebiliriz örneğin PyQt5’de kodlama derleyicisi bile daha kullanışlı geliyor bana.
PyQt5 İçin Gerekli Olanlar
PyQt5 için çok üst düzey bir bilgisayara sahip olmanıza gerek yok.
- Python Yüklemeliyiz
- QT Designer Yüklemeliyiz
- Öğrenme İsteği
Python Link : Python Release Python 3.10.7


QT Designer Link : Qt Designer Download for Windows and Mac
QT Designer Nedir ?
QT Kütüphanesini kullanabilmemize yarayan Arayüz Elemanları ile ( Widget ) Nesne Tabanlı Programlama yapmamıza yarayan bir yazılımdır.
QT Designer profesyonel kullanıma uygun bir araçtır ve bu araç ile Kaliteli içerikler çıkarabiliriz

C#’da bir proje yapmak için Visual Studio editörünü kullanırız veyahut Python’da bir proje yapmak için PyCharm kullanırız PyQt5 için gerekli olan da QT Designer’dır aralarındaki şaşırtıcı fark ise QT Designer bu saydığım editörlere göre daha düşük boyutludur.
PyQt5’de Örnek
PyQt5’in kod yapısını daha iyi anlamanız açısından örnek yapacağız.


QT Designer Link : Qt Designer Download for Windows and Mac
QT Designer Nedir ?
QT Kütüphanesini kullanabilmemize yarayan Arayüz Elemanları ile ( Widget ) Nesne Tabanlı Programlama yapmamıza yarayan bir yazılımdır.
QT Designer profesyonel kullanıma uygun bir araçtır ve bu araç ile Kaliteli içerikler çıkarabiliriz

C#’da bir proje yapmak için Visual Studio editörünü kullanırız veyahut Python’da bir proje yapmak için PyCharm kullanırız PyQt5 için gerekli olan da QT Designer’dır aralarındaki şaşırtıcı fark ise QT Designer bu saydığım editörlere göre daha düşük boyutludur.
PyQt5’de Örnek
PyQt5’in kod yapısını daha iyi anlamanız açısından örnek yapacağız.
Python:
İmport sys
from PyQt5.QWidgets import QApplication, QWidget # QWidget modülünü ekliyoruz
app = QApplication(sys.argv) # Uygulama nesnesi oluşturduk
root = QWidget() # Tanımlama işlemi yapıyoruz
root.resize(320, 240) # resize() ile 320, 240 olarak yeniden boyutlandırma işlemi yaptık
root.setWindowTitle(“Merhaba Türk Hack Team”) # Burdan penceremizin başlığını belirledik
root.show() # Show() ile arayüz elemanımızı yani penceremizi görüntülemiş olduk.
sys.exit(app.exec_()) # Uygulamamızı döngüye sokuyoruz.




