Python’da PyQt5 kullanarak program yazdım fakat hiç bir sıkıntı vermıyor açılırken ama programın içinde işlev yaparken olmuyor ve bu hatayı veriyor

import sys
from PyQt5.QtWidgets import QWidget,QApplication,QRadioButton,QLabel,QPushButton,QVBoxLayout
class Pencere(QWidget):
def init(self):
super().init()
self.init_ui()
def init_ui(self):
self.radio_yazisi=QLabel("Hangi dili daha çok seviyorsun ?")
self.python=QRadioButton("Python")
self.java=QRadioButton("Java ")
self.php=QRadioButton("Php")
self.hic_biri = QRadioButton("Hiçbiri")
self.yazi_alani=QLabel("")
self.buton=QPushButton("Gönder")
v_box=QVBoxLayout()
v_box.addWidget(self.radio_yazisi)
v_box.addWidget(self.python)
v_box.addWidget(self.java)
v_box.addWidget(self.php)
v_box.addWidget(self.hic_biri)
v_box.addStretch()
v_box.addWidget(self.yazi_alani)
v_box.addWidget(self.buton)
self.setLayout(v_box)
self.buton.clicked.connect(lambda: self.click(self.python.isChecked(), self.java.isChecked(), self.php.isChecked(), self.hic_biri(), self.yazi_alani))
self.setWindowTitle("Radio Button")
self.show()
def click(self,python,java,php,hic_biri,yazi_alani):
if python:
yazi_alani.setText("Python")
if java:
yazi_alani.setText("Java")
if php:
yazi_alani.setText("Php")
if hic_biri:
yazi_alani.setText("Hiçbiri")
app =QApplication(sys.argv)
pencere=Pencere()
sys.exit(app.exec_())
Öncelikle aldığın şey hata değil programın kapatıldığını konsola yazdırılıyor 2. konu ise hangi bölümün çalışmadığını söylermisin?
kutucukları işaretlediğimde direk kapanıyor
Aldığın hatayı anlatamam çünkü kodun karmaşık bi hal almış ama sana sıfırdan bir template verebilirim
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Yazbel forum")
self.setGeometry(100, 100, 600, 400)
self.UiComponents()
self.show()
def UiComponents(self):
self.radio_button = QRadioButton(self)
self.radio_button.setGeometry(200, 150, 120, 40)
self.radio_button.setText("Tıkla ve olayı gör")
self.label = QLabel("", self)
self.label.setGeometry(200, 200, 150, 40)
self.radio_button.clicked.connect(self.check)
def check(self):
if self.radio_button.isChecked():
self.label.setText("Evet çalışıyor")
else:
self.label.setText("")
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec())
Orada self.buton.clicked.connect(***lambda***: self.click(self.python.isChecked(), self.java.isChecked(), self.php.isChecked(), self.hic_biri(), self.yazi_alani))
lambda diyerek neyi kastettin anlayamadım
Ayrıca pip install pyqt5 --upgrade
bu komutla modülünü güncelleştirirmisin belki bundan kaynaklanıyordur
Ordan olmadığına eminim lambda ise fonksiyon objesine dönüştürmem gerektiği için kullandım yoksa hata veriyor o yüzden kullandım
@WARESSS kodunuzu buraya göre tekrar düzenlermisiniz:
Tek sorun self.hic_biri.isChecked() yerine self.hic_biri() yazmış olmanız.
1 Beğeni
yaaa şaka gibi nasıl gözden kaçırmışım bende diyorum nerede sıkıntı teşekkürler
1 Beğeni