butona basınca işlem yapmıyor

Başlatan utabatu01, 03 Ekim 2014 - 20:23:12

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

utabatu01

#!/usr/bin/env python
#-*-coding:utf-8-*-

from PyQt4.QtGui import *
from PyQt4.QtCore import *

simgeler="/home/batuhan/ikon"

class yTD(QDialog):
    def __init__(self, ebeveyn=None):
        super(yTD, self).__init__(ebeveyn)

        self.ebeveyn=ebeveyn
        self.setAttribute(Qt.WA_DeleteOnClose)

        izgara=QGridLayout()
        izgara.addWidget(QLabel(u"yazı tipi: "),0,0)
        self.yaziTipiListe=QFontComboBox()
        self.yaziTipiListe.setCurrentFont(QFont(self.ebeveyn.yaziTipi))
       

        izgara.addWidget(self.yaziTipiListe,0,1)

        dugmeKutusu = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Cancel)

        dugmeKutusu.button(QDialogButtonBox.Ok).setText(u'Tamam')
        dugmeKutusu.button(QDialogButtonBox.Cancel).setText(u'Vazgeç')
        self.connect(dugmeKutusu, SIGNAL('accepted()'), self.kabul)
        self.connect(dugmeKutusu, SIGNAL('rejected()'), self.reject)

        izgara.addLayout(dugmeKutusu,1,0,1,2)
        self.setLayout(izgara)

        self.setWindowTitle(u"yazı tipi")
        self.setWindowIcon(QIcon(simgeler+'fonts.png'))
       
    def kabul(self):
        self.ebeveyn.yaziTipi=self.yaziTipiListe.currentFont().family()
        self.ebeveyn.etiket.setText(self.ebeveyn.metin % self.ebeveyn.yaziTipi)
        QDialog.accept(self)

class aD(QDialog):
    def __init__(self, ebeveyn=None):
        super(aD, self).__init__(ebeveyn)

        self.yaziTipi='Liberation Serif'
        self.metin=u'<font face="%s" size="+3">merhaba</font>'
        self.etiket=QLabel(self.metin % self.yaziTipi)

        kutu=QVBoxLayout()
        kutu.addWidget(self.etiket)
        yaziTipiDugme=QPushButton(u"yazı tipi")
        self.connect(yaziTipiDugme, SIGNAL('pressed()'),self.yaTD)
        kutu.addWidget(yaziTipiDugme)
        self.setLayout(kutu)
        self.setWindowTitle(u"pyqt")
        self.setWindowIcon(QIcon(simgeler+"edit.png"))

    def yaTD(self):

        diyalog=yTD(self)
        diyalog.show()

app=QApplication([])
ana=aD()
ana.show()
app.exec_()


yazıp çalıştırıyorum fakat düğmeye basınca yeni pencereyi açmıyor ve konsolda şöyle bir hata veriyor
batuhan@K52JT:~/Belgeler/programlar$ python3 pyqt6.pyw
Traceback (most recent call last):
  File "pyqt6.pyw", line 61, in yaTD
    diyalog=yTD(self)
  File "pyqt6.pyw", line 31, in __init__
    izgara.addLayout(dugmeKutusu,1,0,1,2)
TypeError: arguments did not match any overloaded call:
  QGridLayout.addLayout(QLayout, int, int, Qt.Alignment alignment=0): argument 1 has unexpected type 'QDialogButtonBox'
  QGridLayout.addLayout(QLayout, int, int, int, int, Qt.Alignment alignment=0): argument 1 has unexpected type 'QDialogButtonBox'

utabatu01


plazma

Malum bayram zamanına denk gelmiş sorunuz, programlama dili ile ilgilenen arkadaşlar online olamamışlardır ama dönüş yapılacaktır.

ekremsenturk

61 nolu satır ve 31 nolu satırlarda hata varmış. Argumanlar uyuşmuyormuş. Hata bildirimini bu şekilde yorumlayabiliriz. Bu durumda o satırlardaki uyumsuzluğu araştırıp bulmak sana düşer. Programlama en iyi hata düzelterek öğrenilebilir. Hata düzeltmek, programlamanın bir parçasıdır.

utabatu01

kitapda kinin aynısını yaptığım halde hata alıyorum sorunu bir türlü çözemedim

ekremsenturk

Şu satırı
#!/usr/bin/env python
şu şekilde değiştir
#!/usr/bin/env python3
ve bir de bu şekilde dene.

utabatu01