logologo
Ai badge logo

Bu madde yapay zeka desteği ile üretilmiştir.

PyQt

fav gif
Kaydet
viki star outline

PyQt, Python programlama dili için Qt framework'ünü kullanarak grafiksel kullanıcı arayüzü (GUI) geliştirmeye olanak sağlayan bir kütüphanedir. Riverbank Computing tarafından geliştirilmiştir ve Qt'nin resmi Python bağlantılarından biridir. PyQt, Qt'nin tüm özelliklerini Python'a taşır ve C++ yerine Python kullanarak hızlı ve etkili GUI uygulamaları yazmayı mümkün kılar.

PyQt’nin Temel Özellikleri ve Bileşenleri

PyQt, Qt’nin sunduğu tüm modülleri Python üzerinden kullanmayı sağlar:

QtWidgets (GUI Bileşenleri)

  • QMainWindow: Ana pencere yapısı (menüler, araç çubukları, durum çubuğu).
  • QPushButton, QLabel, QLineEdit: Temel etkileşimli bileşenler.
  • QComboBox, QListWidget, QTableView: Veri gösterim ve seçim araçları.
  • QDialog: Özel iletişim pencereleri (dosya açma, yazdırma vb.).

QtCore (Temel Fonksiyonlar)

  • Signal & Slot Mekanizması: Olay tabanlı programlama için kullanılır.
  • QThread: Çoklu iş parçacığı (multithreading) desteği.
  • QTimer: Zamanlayıcı işlemleri.

QtGui (Grafik ve Görüntü İşleme)

  • QPainter: Özel çizimler ve grafikler oluşturma.
  • QPixmap, QImage: Resim işleme fonksiyonları.

QtNetwork (Ağ İşlemleri)

  • QTcpSocket, QUdpSocket: TCP/UDP tabanlı ağ bağlantıları.
  • QNetworkAccessManager: HTTP istekleri (API bağlantıları).

QtMultimedia (Ses ve Video İşlemleri)

  • QMediaPlayer: Video ve ses oynatıcı.
  • QCamera: Kamera erişimi.

QtWebEngine (Web Entegrasyonu)

  • QWebEngineView: Bir web tarayıcıyı uygulamaya gömme (Chromium tabanlı).

PyQt'nin Kullanım Alanları

PyQt, geniş bir uygulama yelpazesinde kullanılabilir:

Masaüstü Uygulamaları

  • Veritabanı yönetim sistemleri
  • Ofis yazılımları
  • Medya oynatıcılar

Bilimsel ve Mühendislik Uygulamaları

  • Veri görselleştirme araçları
  • Simülasyon yazılımları

Endüstriyel Otomasyon

  • SCADA sistemleri
  • Robot kontrol arayüzleri

PyQt ile Temel Bir Uygulama Örneği

Not Defteri Uygulaması

from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QAction, QFileDialog
class NotDefteri(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        # Metin düzenleme alanı
        self.text_edit = QTextEdit()
        self.setCentralWidget(self.text_edit)
        # Dosya menüsü oluştur
        menubar = self.menuBar()
        dosya_menu = menubar.addMenu('Dosya')
        # Aç seçeneği
        ac = QAction('Aç', self)
        ac.triggered.connect(self.dosya_ac)
        dosya_menu.addAction(ac)
        # Kaydet seçeneği
        kaydet = QAction('Kaydet', self)
        kaydet.triggered.connect(self.dosya_kaydet)
        dosya_menu.addAction(kaydet)
        self.setWindowTitle('PyQt Not Defteri')
        self.setGeometry(100, 100, 600, 400)
    def dosya_ac(self):
        dosya_adi, _ = QFileDialog.getOpenFileName(self, "Dosya Aç")
        if dosya_adi:
            with open(dosya_adi, 'r') as f:
                self.text_edit.setText(f.read())
    def dosya_kaydet(self):
        dosya_adi, _ = QFileDialog.getSaveFileName(self, "Dosya Kaydet")
        if dosya_adi:
            with open(dosya_adi, 'w') as f:
                f.write(self.text_edit.toPlainText())
if __name__ == '__main__':
    app = QApplication([])
    pencere = NotDefteri()
    pencere.show()
    app.exec_()

Bu kod:

  • Dosya açma/kaydetme işlevselliği sunar.
  • QTextEdit ile metin düzenleme yapar.
  • QFileDialog ile dosya seçme penceresi açar.

PyQt'nin Avantajları ve Dezavantajları

Avantajlar

  • Platformlar arası uyumluluk
  • Zengin bileşen kütüphanesi
  • Hızlı uygulama geliştirme

Dezavantajlar

  • Öğrenme eğrisinin dik olması
  • Bazı durumlarda performans sorunları


Kaynakça

The Qt Company. "Qt 5.15 Documentation." Erişim tarihi: 10 Haziran 2023. https://doc.qt.io/qt-5/

Riverbank Computing. "PyQt5 Documentation." Erişim tarihi: 10 Haziran 2023. https://www.riverbankcomputing.com/static/Docs/PyQt5/

Real Python. "PyQt5 Tutorial: Python GUI Development." Son güncelleme: 15 Mayıs 2023. Erişim tarihi: 10 Haziran 2023. https://realpython.com/python-pyqt-gui-calculator/

Qt Project. "Qt Official Repository." GitHub, 2023. Erişim tarihi: 13 Mayıs 2025. https://github.com/qt

Sen de Değerlendir!

0 Değerlendirme

Yazar Bilgileri

Avatar
Ana YazarMuhammed Erdem12 Mayıs 2025 19:32
KÜRE'ye Sor