--- Aşağıda önceki yazılarımda olduğu gibi pencere classını oluşturup içine fonksiyonlarımızı göndermişiz. ---
--- 4 adet widget oluşturulmuş, v_box a eklenmiş ve en altına addStrecth ile boşluk verilmiş. Layoutumuza eklenen butonlara clicked.connect ile click fonksiyonuna bağlayarak işlevlerini sağlamışız. Burada dikkat etmeniz gereken nokta self.sender ! ---
--- sender metodu bize hangi butona basıldığını anlamamızı sağlayacak. ---
--- sender.text imiz Temizle (yani temizle butonuna basılmışsa) ise clear metoduyla yazımız temizlenecek, değilse (yani yazdır butonuna basılmışsa) setText metodu ile yazialani.text imizi yazdirilan Qlabel ına yazacak. ---
import sys
from PyQt5 import QtWidgets
class Pencere(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.yazi_alani = QtWidgets.QLineEdit() # Yazımızı yazdığımız line.
self.temizle = QtWidgets.QPushButton("Temizle")
self.yazdir = QtWidgets.QPushButton("Yazdır")
self.yazdirilan = QtWidgets.QLabel() # Yazdırılan için bir alan verdik.
v_box = QtWidgets.QVBoxLayout()
v_box.addWidget(self.yazi_alani)
v_box.addWidget(self.temizle)
v_box.addWidget(self.yazdir)
v_box.addWidget(self.yazdirilan)
v_box.addStretch()
self.setLayout(v_box)
self.temizle.clicked.connect(self.click)
self.yazdir.clicked.connect(self.click)
self.show()
def click(self):
sender = self.sender() # Burası neye basıldığını gören kodumuz!!!
if sender.text() == "Temizle":
self.yazi_alani.clear()
else:
self.yazdirilan.setText(self.yazi_alani.text())
app = QtWidgets.QApplication(sys.argv)
pencere = Pencere()
sys.exit(app.exec_())
