Ошибка при попытке открыть приложение написанное на PyQt5 и Qt Designer из PySide2

Вообщем я сделал приложение (конвертер валют) на Python и PyQt5 (интерфейс делал в Qt Designer, который взял из PySide2(так как при установке PyQt5 и PyQt5-tools там где должен лежать Qt Designer.exe был не рабочий Qt Designer.dll), так вот, я зделал интерфейс сохранил всё в одну папку (иконки, интерфейс), конвертировал интерфейс из .ui в .py файл, написал код в который имортировал всё что нужно, сделал небольшое дополнение в интерфейс, ещё даже не зделав функцию конвертации (я делал конвертер валют), запускаю, и выходит ошибка! Я проверял всё, вроде должно работать, но не работает, помогите пожалуйста, заранее спасибо)

Вот код:

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QIcon
from ui import Ui_MainWindow
from currency_converter import CurrencyConverter

class CurrencyConv(QtWidgets.QMainWindow):
    def __init__(self):
        super(CurrencyConv, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.init_Ui()

    def init_Ui(self):
        self.setWindowTitle('Currency Converter')

        self.ui.input_currency.setPlaceholderText('Из валюты:')
        self.ui.input_amout.setPlaceholderText('Сколько у меня есть:')
        self.ui.output_currency.setPlaceholderText('В валюту: ')
        self.ui.output_amout.setPlaceholderText('Сколько я получу:')

app = QtWidgets.QApplication([])
application = CurrencyConv()
application.show()

sys.exit(app.exec())

А вот ошибка:

Traceback (most recent call last):
  File "main.py", line 24, in <module>
    application = CurrencyConv()
  File "main.py", line 10, in __init__
    super(CurrencyConv(), self).__init__()
  File "main.py", line 10, in __init__
    super(CurrencyConv(), self).__init__()
  File "main.py", line 10, in __init__
    super(CurrencyConv(), self).__init__()
  [Previous line repeated 496 more times]
RecursionError: maximum recursion depth exceeded

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

Автор решения: gil9red

У вас ошибка из-за рекурсивного вызов конструктора самого себя

Замените

super(CurrencyConv, self).__init__()

на

super(QtWidgets.QMainWindow, self).__init__()

а лучше вовсе не указывать тип предка:

super().__init__()
→ Ссылка
Автор решения: S. Nick

Мне кажется, что вы в каком-то из модулей вставили лишний или не нужный импорт.

main.py

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QIcon

from q1207374_ui import Ui_MainWindow
#? from currency_converter import CurrencyConverter


class CurrencyConv(QtWidgets.QMainWindow):
    def __init__(self):
        super(CurrencyConv, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.init_Ui()

    def init_Ui(self):
        self.setWindowTitle('Currency Converter')

        self.ui.input_currency.setPlaceholderText('Из валюты:')
        self.ui.input_amout.setPlaceholderText('Сколько у меня есть:')
        self.ui.output_currency.setPlaceholderText('В валюту: ')
        self.ui.output_amout.setPlaceholderText('Сколько я получу:')


app = QtWidgets.QApplication([])
application = CurrencyConv()
application.show()
sys.exit(app.exec())

q1207374_ui.py

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(265, 320)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.input_currency = QtWidgets.QLineEdit(self.centralwidget)
        self.input_currency.setGeometry(QtCore.QRect(70, 30, 113, 20))
        self.input_currency.setObjectName("input_currency")
        self.input_amout = QtWidgets.QLineEdit(self.centralwidget)
        self.input_amout.setGeometry(QtCore.QRect(70, 70, 113, 20))
        self.input_amout.setObjectName("input_amout")
        self.output_currency = QtWidgets.QLineEdit(self.centralwidget)
        self.output_currency.setGeometry(QtCore.QRect(70, 120, 113, 20))
        self.output_currency.setObjectName("output_currency")
        self.output_amout = QtWidgets.QLineEdit(self.centralwidget)
        self.output_amout.setGeometry(QtCore.QRect(70, 170, 113, 20))
        self.output_amout.setObjectName("output_amout")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 265, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

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

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

→ Ссылка