Merhabalar başlangıç seviyede PyQt5 kullanımını basit bir program üzerinde anlatacağım.

Kod:
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QFont, QPixmap
from PyQt5.QtCore import Qt
class Pencere(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('Pencere Başlığı')
self.setGeometry(40, 40, 300, 300)
self.ui()
def ui(self):
self.yaziAlani = QLabel('Yazi Alani', self)
self.yaziAlani.move(110, 30)
self.yaziAlani.setFont(QFont('Verdana', 13))
################################################
self.kaydetButton = QPushButton('Kaydet', self)
self.kaydetButton.move(110, 150)
self.kaydetButton.clicked.connect(self.kaydetfunc)
################################################
self.cikisButton = QPushButton('Çıkış', self)
self.cikisButton.move(190, 150)
self.cikisButton.clicked.connect(self.cikisfunc)
################################################
self.nickAlani = QLineEdit(self)
self.nickAlani.move(110, 60)
self.nickAlani.setPlaceholderText('Lütfen nickinizi giriniz')
################################################
self.sifreAlani = QLineEdit(self)
self.sifreAlani.move(110, 90)
self.sifreAlani.setPlaceholderText('Lütfen şifrenizi giriniz')
self.sifreAlani.setEchoMode(QLineEdit.Password)
#################################################
self.checkBoxErkek = QCheckBox('Erkek', self)
self.checkBoxErkek.move(110, 120)
#################################################
self.checkBoxKadin = QCheckBox('Kadin', self)
self.checkBoxKadin.move(180, 120)
#################################################
self.combo = QComboBox(self)
self.combo.move(230, 120)
self.combo.addItems(['Python', 'Java', 'C++'])
##################################################
self.resim = QLabel(self)
self.resim.setPixmap(QPixmap('dede2.png').scaled(5 0, 50, Qt.KeepAspectRatio, Qt.SmoothTransformation))
self.show()
def kaydetfunc(self):
nick = self.nickAlani.text()
sifre = self.sifreAlani.text()
################################################
if self.checkBoxErkek:
cinsiyet = 'Erkek'
elif self.checkBoxKadin:
cinsiyet = 'Kadın'
else:
cinsiyet = ''
################################################
ComboText = str(self.combo.currentText())
################################################
print('Nick : ' + nick + '\nŞifre : ' + sifre + '\nCinsiyet : ' + cinsiyet + '\nProgramlama Dili : ' + ComboText)
def cikisfunc(self):
mesajKutusu = QMessageBox.question(self, 'Mesaj başlığı', 'Mesaj yazısı', QMessageBox.Yes | QMessageBox.No)
if mesajKutusu == QMessageBox.Yes:
print('Yes e basıldı')
else:
print('No ya basıldı')
app = QApplication(sys.argv)
pencere = Pencere()
sys.exit(app.exec_())

Öncelikle kullanacağımız kütüphanelerimizi import ettik
Kod:
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QFont, QPixmap
from PyQt5.QtCore import Qt
QWidget'i miras aldık
Kod:
class Pencere(QWidget):
setWindowTitle kodu ile Penceremizi isimlendirdik.
Kod:
self.setWindowTitle('Pencere Başlığı')
setGeometry(40, 40, 300, 300) kodu ile penceremizin başlangıç noktasını(40, 40) ve boyutunu (300, 300) belirledik.
Kod:
self.setGeometry(40, 40, 300, 300)
QLabel('Yazi Alani', self) kodu ile bir yazı alanı oluşturduk ,ismini Yazi Alani olarak belirledik ve Pencereye eklemesi için self yazdık
Kod:
self.yaziAlani = QLabel('Yazi Alani', self)
move kodu ile pencerede yeniden konumlandırdık.
Kod:
self.yaziAlani.move(110, 30)
setFont kodu ile yazı fontumuzu değiştirdik.
Kod:
self.yaziAlani.setFont(QFont('Verdana', 13))
QPushButton kodu ile buton oluşturduk ve Kaydet olarak adlandırdık.
Kod:
self.kaydetButton = QPushButton('Kaydet', self)
clicked.connect kodu ile butona kaydetfunc fonksiyonunu bağladık. Butona basınca kaydetfunc fonksiyonu çalışacaktır.
Kod:
self.kaydetButton.clicked.connect(self.kaydetfunc)
QLineEdit kodu ile yazı yazılacak alan oluşturduk ve self ile pencereye ekledik.
Kod:
self.nickAlani = QLineEdit(self)
setPlaceholderText kodu ile QLineEdit'in içinde Lütfen nickinizi giriniz yazısının oluşmasını sağladık. İçine bir şey yazıldığında yazı kaybolacaktır.
Kod:
self.nickAlani.setPlaceholderText('Lütfen nickinizi giriniz')
setEchoMode(QLineEdit.Password) kodu ile girilen şifrenin görünmemesini sağladık
Kod:
self.sifreAlani.setEchoMode(QLineEdit.Password)
QCheckBox('Erkek', self) kodu ile Erkek isminde bir checkbox oluşturduk
Kod:
self.checkBoxErkek = QCheckBox('Erkek', self)
QComboBox kodu ile bir combo box oluşturduk.
Kod:
self.combo = QComboBox(self
addItems kodu ile comboBox'a itemler ekledik, addItems liste olarak item almaktadır. String girerseniz hata verecektir.
Kod:
self.combo.addItems(['Python', 'Java', 'C++'])
QLabel kodu ile resim için bir alan oluşturduk.
Kod:
self.resim = QLabel(self)
setPixmap(QPixmap('dede2.png') ile resmi Qlabel'e ekledik.
scaled(50, 50, Qt.KeepAspectRatio, Qt.SmoothTransformation) ile resmi yeniden boyutlandırdık.
Kod:
self.resim.setPixmap(QPixmap('dede2.png').scaled(5 0, 50, Qt.KeepAspectRatio, Qt.SmoothTransformation))
Penceremizin ekranda görünmesini sağlıyor.
Kod:
self.show()
.text() ile QLineEdit içindeki veriyi aldık
Kod:
nick = self.nickAlani.text()
sifre = self.sifreAlani.text()
checkBoxErkek tikli ise True değerini döndürecektir ve cinsiyet'e Erkek değerini atayacaktır.
checkBoxErkek tikli değil ise False değeri dönecektir ve bir program bir sonraki sorguya geçecektir.
Kod:
if self.checkBoxErkek:
cinsiyet = 'Erkek'
elif self.checkBoxKadin:
cinsiyet = 'Kadın'
else:
cinsiyet = ''
str(self.combo.currentText()) ile Combotext'deki seçili veriyi aldık.
Kod:
ComboText = str(self.combo.currentText())
resize ile yazi alanını yeniden boyutlandırdık çünkü eski alan yetersizdi.
setText ile yaziAlani içindeki yaziyi değiştirdik.
Kod:
self.yaziAlani.resize(180, 20)
self.yaziAlani.setText('İşlem Tamamlandı')
Bir mesaj kutusu oluşturduk.
Kod:
mesajKutusu = QMessageBox.question(self, 'Mesaj başlığı', 'Mesaj yazısı', QMessageBox.Yes | QMessageBox.No)



Kod:
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QFont, QPixmap
from PyQt5.QtCore import Qt
class Pencere(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('Pencere Başlığı')
self.setGeometry(40, 40, 300, 300)
self.ui()
def ui(self):
self.yaziAlani = QLabel('Yazi Alani', self)
self.yaziAlani.move(110, 30)
self.yaziAlani.setFont(QFont('Verdana', 13))
################################################
self.kaydetButton = QPushButton('Kaydet', self)
self.kaydetButton.move(110, 150)
self.kaydetButton.clicked.connect(self.kaydetfunc)
################################################
self.cikisButton = QPushButton('Çıkış', self)
self.cikisButton.move(190, 150)
self.cikisButton.clicked.connect(self.cikisfunc)
################################################
self.nickAlani = QLineEdit(self)
self.nickAlani.move(110, 60)
self.nickAlani.setPlaceholderText('Lütfen nickinizi giriniz')
################################################
self.sifreAlani = QLineEdit(self)
self.sifreAlani.move(110, 90)
self.sifreAlani.setPlaceholderText('Lütfen şifrenizi giriniz')
self.sifreAlani.setEchoMode(QLineEdit.Password)
#################################################
self.checkBoxErkek = QCheckBox('Erkek', self)
self.checkBoxErkek.move(110, 120)
#################################################
self.checkBoxKadin = QCheckBox('Kadin', self)
self.checkBoxKadin.move(180, 120)
#################################################
self.combo = QComboBox(self)
self.combo.move(230, 120)
self.combo.addItems(['Python', 'Java', 'C++'])
##################################################
self.resim = QLabel(self)
self.resim.setPixmap(QPixmap('dede2.png').scaled(5 0, 50, Qt.KeepAspectRatio, Qt.SmoothTransformation))
self.show()
def kaydetfunc(self):
nick = self.nickAlani.text()
sifre = self.sifreAlani.text()
################################################
if self.checkBoxErkek:
cinsiyet = 'Erkek'
elif self.checkBoxKadin:
cinsiyet = 'Kadın'
else:
cinsiyet = ''
################################################
ComboText = str(self.combo.currentText())
################################################
print('Nick : ' + nick + '\nŞifre : ' + sifre + '\nCinsiyet : ' + cinsiyet + '\nProgramlama Dili : ' + ComboText)
def cikisfunc(self):
mesajKutusu = QMessageBox.question(self, 'Mesaj başlığı', 'Mesaj yazısı', QMessageBox.Yes | QMessageBox.No)
if mesajKutusu == QMessageBox.Yes:
print('Yes e basıldı')
else:
print('No ya basıldı')
app = QApplication(sys.argv)
pencere = Pencere()
sys.exit(app.exec_())

Öncelikle kullanacağımız kütüphanelerimizi import ettik
Kod:
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QFont, QPixmap
from PyQt5.QtCore import Qt
QWidget'i miras aldık
Kod:
class Pencere(QWidget):
setWindowTitle kodu ile Penceremizi isimlendirdik.
Kod:
self.setWindowTitle('Pencere Başlığı')
setGeometry(40, 40, 300, 300) kodu ile penceremizin başlangıç noktasını(40, 40) ve boyutunu (300, 300) belirledik.
Kod:
self.setGeometry(40, 40, 300, 300)
QLabel('Yazi Alani', self) kodu ile bir yazı alanı oluşturduk ,ismini Yazi Alani olarak belirledik ve Pencereye eklemesi için self yazdık
Kod:
self.yaziAlani = QLabel('Yazi Alani', self)
move kodu ile pencerede yeniden konumlandırdık.
Kod:
self.yaziAlani.move(110, 30)
setFont kodu ile yazı fontumuzu değiştirdik.
Kod:
self.yaziAlani.setFont(QFont('Verdana', 13))
QPushButton kodu ile buton oluşturduk ve Kaydet olarak adlandırdık.
Kod:
self.kaydetButton = QPushButton('Kaydet', self)
clicked.connect kodu ile butona kaydetfunc fonksiyonunu bağladık. Butona basınca kaydetfunc fonksiyonu çalışacaktır.
Kod:
self.kaydetButton.clicked.connect(self.kaydetfunc)
QLineEdit kodu ile yazı yazılacak alan oluşturduk ve self ile pencereye ekledik.
Kod:
self.nickAlani = QLineEdit(self)
setPlaceholderText kodu ile QLineEdit'in içinde Lütfen nickinizi giriniz yazısının oluşmasını sağladık. İçine bir şey yazıldığında yazı kaybolacaktır.
Kod:
self.nickAlani.setPlaceholderText('Lütfen nickinizi giriniz')
setEchoMode(QLineEdit.Password) kodu ile girilen şifrenin görünmemesini sağladık
Kod:
self.sifreAlani.setEchoMode(QLineEdit.Password)
QCheckBox('Erkek', self) kodu ile Erkek isminde bir checkbox oluşturduk
Kod:
self.checkBoxErkek = QCheckBox('Erkek', self)
QComboBox kodu ile bir combo box oluşturduk.
Kod:
self.combo = QComboBox(self
addItems kodu ile comboBox'a itemler ekledik, addItems liste olarak item almaktadır. String girerseniz hata verecektir.
Kod:
self.combo.addItems(['Python', 'Java', 'C++'])
QLabel kodu ile resim için bir alan oluşturduk.
Kod:
self.resim = QLabel(self)
setPixmap(QPixmap('dede2.png') ile resmi Qlabel'e ekledik.
scaled(50, 50, Qt.KeepAspectRatio, Qt.SmoothTransformation) ile resmi yeniden boyutlandırdık.
Kod:
self.resim.setPixmap(QPixmap('dede2.png').scaled(5 0, 50, Qt.KeepAspectRatio, Qt.SmoothTransformation))
Penceremizin ekranda görünmesini sağlıyor.
Kod:
self.show()
.text() ile QLineEdit içindeki veriyi aldık
Kod:
nick = self.nickAlani.text()
sifre = self.sifreAlani.text()
checkBoxErkek tikli ise True değerini döndürecektir ve cinsiyet'e Erkek değerini atayacaktır.
checkBoxErkek tikli değil ise False değeri dönecektir ve bir program bir sonraki sorguya geçecektir.
Kod:
if self.checkBoxErkek:
cinsiyet = 'Erkek'
elif self.checkBoxKadin:
cinsiyet = 'Kadın'
else:
cinsiyet = ''
str(self.combo.currentText()) ile Combotext'deki seçili veriyi aldık.
Kod:
ComboText = str(self.combo.currentText())
resize ile yazi alanını yeniden boyutlandırdık çünkü eski alan yetersizdi.
setText ile yaziAlani içindeki yaziyi değiştirdik.
Kod:
self.yaziAlani.resize(180, 20)
self.yaziAlani.setText('İşlem Tamamlandı')
Bir mesaj kutusu oluşturduk.
Kod:
mesajKutusu = QMessageBox.question(self, 'Mesaj başlığı', 'Mesaj yazısı', QMessageBox.Yes | QMessageBox.No)

