У меня ошибка AttributeError: 'Ui_MainWindow' object has no attribute 'ui'

У меня ошибка AttributeError: 'Ui_MainWindow' object has no attribute 'ui'.
Код кроме про фото точно рабочий. Если что делаю для школы.

import sys
from design import *
from PyQt5 import QtCore, QtGui, QtWidgets

class MyWin(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.setEnabled(True)
        MainWindow.resize(990, 500)
        MainWindow.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))

        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")

        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(330, 40, 120, 50))
        self.pushButton.setObjectName("pushButton")
     

        self.textBrowser = QtWidgets.QLineEdit(self.splitter_2)
        self.textBrowser.setObjectName("textBrowser")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        #Тут все про картинки
        self.photo = QtWidgets.QLabel(self.centralwidget)
        self.photo.setGeometry(QtCore.QRect(480, 41, 480, 270))
        self.photo.setText("")
        self.photo.setPixmap(QtGui.QPixmap('self.ui.plainTextEdit.setText(i)' + ".png"))
        self.photo.setScaledContents(True)
        self.photo.setObjectName("photo")

    def retranslateUi(self, MainWindow):
       _translate = QtCore.QCoreApplication.translate

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    myapp = MyWin()
    myapp.show()
    sys.exit(app.exec_())

Ответы (1 шт):

Автор решения: S. Nick

Всегда запускайте свое приложение с консоли/терминала/CMD и вы получите реальную ошибку, если она у вас есть.

import sys
from PyQt5 import QtCore, QtGui, QtWidgets

#from design import *
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.setEnabled(True)
        MainWindow.resize(990, 500)
        MainWindow.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))

        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        # Найти год
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(40, 20, 120, 20))
        self.label.setObjectName("label")

        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(330, 40, 120, 50))
        self.pushButton.setObjectName("pushButton")
        # Окно вывода
        self.splitter = QtWidgets.QSplitter(self.centralwidget)
        self.splitter.setGeometry(QtCore.QRect(40, 110, 410, 200))
        self.splitter.setOrientation(QtCore.Qt.Vertical)
        self.splitter.setObjectName("splitter")

        self.label_2 = QtWidgets.QLabel(self.splitter)
        self.label_2.setObjectName("label_2")

        self.plainTextEdit = QtWidgets.QTextBrowser(self.splitter)
        self.plainTextEdit.setObjectName("plainTextEdit")
        # Ввод
        self.splitter_2 = QtWidgets.QSplitter(self.centralwidget)
        self.splitter_2.setGeometry(QtCore.QRect(40, 40, 300, 50))
        self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
        self.splitter_2.setObjectName("splitter_2")

        self.textBrowser = QtWidgets.QLineEdit(self.splitter_2)
        self.textBrowser.setObjectName("textBrowser")

        self.label_3 = QtWidgets.QLabel(self.splitter_2)
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(self.splitter_2)
        self.label_4.setObjectName("label_4")

        MainWindow.setCentralWidget(self.centralwidget)
        self.retranslateUi(MainWindow)

        QtCore.QMetaObject.connectSlotsByName(MainWindow)

        self.photo = QtWidgets.QLabel(self.centralwidget)
        self.photo.setGeometry(QtCore.QRect(480, 41, 480, 270))
        self.photo.setText("")
        self.photo.setScaledContents(True)
        self.photo.setObjectName("photo")

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "Проект"))
        self.label.setText(_translate("MainWindow", "Найти год "))
        self.pushButton.setText(_translate("MainWindow", "Найти"))
        self.label_2.setText(_translate("MainWindow", "Ответ:"))


class MyWin( QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()
        
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        
        self.ui.pushButton.clicked.connect(self.myFunction)

    def myFunction(self):
        a = self.ui.textBrowser.text()
        line = '''
2018 — Избрание 4-го Президента РФ Владимира Путина на второй срок (суммарно – четвёртый). Пожар в \
торгово-развлекательном центре «Зимняя вишня» в Кемерово 25-26 марта 2018 года. Открытие автомобильной части Крымского \
моста. Чемпионат мира по футболу 2018 года в России. Массовое убийство в Керченском политехническом колледже. Пенсионная \
реформа в России (2019—2028). РПЦ разрывает евхаристическое общение с Константинопольским патриархатом из-за ситуации с \
предоставлением автокефалии православной церкви на Украине.
2019 — Увеличение основной ставки НДС до 20 %. Переход с аналогового телевещания на цифровое. Открытие железнодорожной \
части Крымского моста. Пожар на АС-31 1 июля 2019 года.
2020-2022 — Пандемия коронавируса COVID-19.
2020 — Владимир Путин предложил конституционную реформу, реализованную через всероссийское голосование, правительство \
Дмитрия Медведева ушло в отставку, новым премьер-министром назначен Михаил Мишустин; назначены члены нового \
правительства.
2021 — Выборы в Государственную думу VIII созыва. Всероссийская перепись населения 2021 года. Массовые убийства в \
учебных заведениях в Казани и в Перми. 
'''
        b = '''Год или слово не найдено'''
        for i in line.split('\n'):
            if a in i:
                self.ui.plainTextEdit.setText(i)
                #Вот тут самая главная проблема
                c = (a + '.png')

                
# AttributeError: 'MyWin' object has no attribute 'photo'
#                self.photo.setPixmap(QtGui.QPixmap(c))
                self.ui.photo.setPixmap(QtGui.QPixmap(c))                       # !!! +++ 


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    myapp = MyWin()
    myapp.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка