Yazılım | Programlama Pyqt5 "mainwindow is not defined" hatası

pikafaresi

Yeni üye
21 Tem 2020
4
0
Arkadaşlar merhaba. Bir arkadaşım ve öğretmenim ile bir yazılım projesi yapıyoruz. Ben proje yapımında pyqt5 kullanıyorum. İki tane kısım var; biri anasayfa, biri profil kısmı (tabii aslında dahasını da yapacağız). Ama ana sayfadan profile geçti diyelim, profilden anasayfaya geçmiyor. Profilden anasayfaya geçerse profile geçmiyor. Tıklayınca "mainwindow is not defined" hatası alıyorum. Gerçekten sinir oldum. Yardımcı olabilir misiniz? Kodlar aşağıda:

(NOT: Anasayfa için ui tasarımlarını kestim zorluk olmasın diye. Çünkü kod çok uzun normalde. Zaten kodun o kısmı tamamen hatadan bağımsız.
Ama hata ile alakası var derseniz kodun tamamını atarım.)

Kod:
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

class Anasayfa(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1393, 605)

        self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_3.setGeometry(QtCore.QRect(800, 20, 75, 23))
        self.pushButton_3.setFont(QFont('Sans', 11))
        self.pushButton_3.clicked.connect(self.profile_don)
        self.pushButton_3.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.pushButton_3.setStyleSheet("background-color:rgb(0, 0, 0);\n"
"color:rgb(145,145,145);\n"
"font-family: Roboto;\n"
"outline:none;\n"
"QPushButton#pushButton: hover{\n"
"Background-color:rgb(255, 255, 255);\n"
"}")
        self.pushButton_3.setObjectName("pushButton_3")
    def profile_don(self):
        from profil import Profil
        MainWindow.setVisible(False)
        if __name__ == '__main__':
            self.window = QtWidgets.QMainWindow()
            self.ui4 = Profil()
            self.ui4.setupUi(self.window)
            self.window.show()
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Anasayfa()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

Profil'in kodları:
Kod:
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

class Profil(object):
    def setupUi(self, MainWindow):
        
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1566, 776)
        
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(730, 20, 75, 23))
        self.pushButton.setFont(QFont('Roboto', 11))
        self.pushButton.clicked.connect(self.anasayfaya_don)
        self.pushButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.pushButton.setStyleSheet("background-color:rgb(0, 0, 0);\n"
        "color:rgb(145,145,145)")
        self.pushButton.setObjectName("pushButton")def anasayfaya_don(self):
        
    def anasayfaya_don(self):
        from anasayfa import Anasayfa
        MainWindow.setVisible(False)
        if __name__ == '__main__':
            self.window = QtWidgets.QMainWindow()
            self.ui4 = Anasayfa()
            self.ui4.setupUi(self.window)
            self.window.show()


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Profil()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

Lütfen yardımcı olun. Projenin bitiş süresi şubatta ama daha yapacağımız bir sürü şey var. Hemen cevap verirseniz sevinirim.yqt5
 

Ayberk25

Katılımcı Üye
21 Nis 2016
436
9
c:/
sanırsam activityleri tek yönlü yapmışsın yani butonu anasayfadan profile geçmeye tanımlamışsın ama dönüşü yok tekrardan bir intent tanımlayarak bu sorunu halledebilirsin diye düşünüyorum
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.