PyQt5 Hata Alıyorum

Arkadaşlar merhaba.
Visual Studio Code PyQt5 için şu hatayı alıyorum bir bakabilir misiniz?

QWidget: Must construct a QApplication before a QWidget

Teşekkürler

Merhaba.

Kodunuzu görmeden en fazla bu linki atabilirim ki bence sizin probleminiz de bundan kaynaklanıyor:

1 Beğeni

Hocam basit bir pencere uygulamasında bile alıyorum
from PyQt5.QtWidgets import *

class Window(QWidget):

    def __init__(self):

        super().__init__()

        self.setGeometry(50,50,1080,640)

        self.setWindowTitle("HELLO WORLD")

        self.show()

window = Window()

Qt designer yükledim sonra böyle hata almaya başladım ardından hepsini sildim qt5 de dahil olmak üzere sonra tekrar yükledim ama hala aynı sorunu alıyorum hocam

Bir kütüphaneyi kullanmadan önce örneklerini inceleyin lütfen, attığım linkte sorunun cevabı bulunuyor.

1 Beğeni

Hocam spyder da çalıştırdığımda çalışıyor kodlar . Verdiğiniz linktekinden pek bir şey anlayamadım hocam.

Bir QWidget oluşturmadan önce bir QApplication’a sahip olmanız lazım. Kodunuzu şu hale getirin:

from PyQt5.QtWidgets import QApplication, QWidget
import sys
app = QApplication(sys.argv)


class Window(QWidget):

    def __init__(self):

        super().__init__()

        self.setGeometry(50,50,1080,640)

        self.setWindowTitle("HELLO WORLD")

        self.show()

window = Window()

Bir de bunu PyQt4 için çevirmeniz gerekecek, ben 5 kullanıyorum. İmport edilecek modüller farklılık gösteriyor.

1 Beğeni

Hocam kodlar çalıştı ama pencere açıldığı anda yeniden kapanıyor. time.sleep() eklediğimde de basit bir buton eklediğimde bile butonu göstermiyor
Kodlar böyle

from PyQt5.QtWidgets import *

from PyQt5.QtWidgets import QApplication, QWidget

import sys

import time

app = QApplication(sys.argv)

class Window(QWidget):

    def __init__(self):

        super().__init__()

        self.setGeometry(50,50,1080,640)

        self.setWindowTitle("MERHABA")

        



        self.butonOlustur()

        self.show()

        time.sleep(50)

            

    def butonFonksiyon(self):

        print("BUTONA BASILDI")

    

    def butonOlustur(self):

        buton = QPushButton("HELLO WORLD",self)

        buton.setToolTip("THIS IS HELLO WORLD BUTTON")

        buton.resize(100,50)

        buton.move(50,50)

        buton.clicked.connect(self.butonFonksiyon)

        

window = Window()


Ekran böyle kalıyor.
Teşekkürler.

Qt’nin mainloopunu çağırmanız lazım. En sona bunu ekleyebilirsiniz:

sys.exit(app.exec_())
1 Beğeni