--- Bu yazı ile PyQt5 ile daha kapsamlı bir pencere tasarlayalım. Bunun için Pencere adında bir class oluşturuyoruz ve bu sınıf QtWidgets tan QtWidget ı miras almalı. Hazırladığımız bu sınıfa (pencereye) ekstra fonksiyonlar özellikler eklicez. ---
--- Program başladığında direk çalışması için öncelikle init fonksiyonunu oluşturuyoruz ve böylece direk miras aldığı QWidget çalışmış oluyor. Ve yine self.init_ui diyerek program başladığında direk init fonksiyonunda çalışacak olan, yazacak olduğumuz fonksiyonu tanımlı hale getiriyoruz. ---
--- Bu aşamada artık init_ui fonksiyonumuzun içine pencerede neler olacağınız yazabiliriz. ---
--- Aşağıda kodlara bakarsanız v_box oluşturup butonları butonları yerleştirmişiz, sonra da h_box oluşturup içine v_boxu atmışız. ---
--- Buton için hazırladığımız click fonksiyonuna ve bu fonksiyona bağlı olan penceredeki butonun connect koduna dikkat edin. Projeyi kendiniz çalıştırın. ----
import sys
from PyQt5 import QtWidgets
class Pencere(QtWidgets.QWidget): # mirasları aldı.
def __init__(self):
super().__init__() # miras aldıklarını çalıştırdık direk.
self.init_ui()
def init_ui(self):
self.yazi_alani = QtWidgets.QLabel("Bana Henüz Tıklanmadı")
self.buton = QtWidgets.QPushButton("Bana Tıkla")
self.say = 0
v_box = QtWidgets.QVBoxLayout()
v_box.addWidget(self.buton)
v_box.addWidget(self.yazi_alani)
v_box.addStretch()
h_box = QtWidgets.QHBoxLayout()
h_box.addStretch()
h_box.addLayout(v_box)
h_box.addStretch()
self.setLayout(h_box) #v_box u h_boxun içine attık. o yüzden h_boxu göstermelisiniz.
self.buton.clicked.connect(self.click) # Burada butona clicklediğinde verilen fonksiyona connectle dedik.
self.show()
def click(self):
self.say += 1
self.yazi_alani.setText("Bana " + str(self.say) + " Defa Tıklandı")
app = QtWidgets.QApplication(sys.argv)
pencere = Pencere()
sys.exit(app.exec_())
