PyQt5 class problem

import sys
from PyQt5 import QtWidgets,QtGui


class pencere(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.asdasd()

    def asdasd(self):
        self.yazialani =  QtWidgets.QLabel("Henüz hiç tıklanmadu...")
        self.button = QtWidgets.QPushButton("TIkla")
        self.say = 0
        self.show()




app = QtWidgets.QApplication(sys.argv)



pencere = pencere()

sys.exit(app.exec_())

çalıştırınca buton ve yazı gelmiyor ve burdaki super().init() görevi nedir ? …

Bu Qwidget sınıfının __init__ metodunu çağırır. Onu yazmazsanız hata alırsınız. Bir nevi __init__ metodununun üzerine ekleme yapmış oluyorsunuz.

Ayrıca, başında ve sonunda iki alt çizgi içeren sözcükleri kod etiketi içine alırsanız iyi olur. Bu, markdown için özel bir ifade, kalın yapmaya yarıyor.
Örnek:
init : __init__
str : __str__

__init__ üzerine ekleme yapılıyor demeyelim de, üst sınıfın bazı yapması gerekli olan başlangıç işlemleri için lazım diyelim biz buna :slight_smile:

2 Beğeni

teşekkürler ve program neden çalışmıyor fikriniz var mı ?

yazialani ve button'i pencere'ye eklememissin.

Ikisini birden ekleyebilmek icin Layout kullanmak gerekecek gibi.

        layout = QtWidgets.QVBoxLayout(self)
        layout.addWidget(self.yazialani)
        layout.addWidget(self.button)
        self.setLayout(layout)
1 Beğeni