Написал интерфейс на Qt Designer - файл tt1 - поместил в него код программы. Программа не отображает значение после нажатия кнопки

Написал интерфейс на Qt Designer - файл tt1.py - поместил в него код программы.
Программа не отображает значение после нажатия кнопки, почему?

import sys
from tt1 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)
          self.ui.pushButton.clicked.connect(self.function)


     def function(self):
          self.ui.label_2.setText("")
          x=self.ui.lineEdit.text()
          y=x+3
          self.ui.label_2.setText(y)

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

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

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

Проблема видимо в том, что вы не правильно инициализируете класс MyWin.

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from tt1 import Ui_MainWindow                                    # +++ Ui_MainWindow


class MyWin(QtWidgets.QMainWindow):
    def __init__(self):                                           # ---, parent=None):
#           QtWidgets.QWidget.__init__(self, parent)              # ---  
        super().__init__()                                        # +++
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.pushButton.clicked.connect(self.function)

    def function(self):
# ?        self.ui.label_2.setText("")
        x = self.ui.lineEdit.text()
        y = int(x) + 3                                           # +++ int
        self.ui.label_2.setNum(y)                                # +++ setNum

if __name__=='__main__':
    app = QtWidgets.QApplication(sys.argv)
    myapp = MyWin()
    myapp.show()
    sys.exit(app.exec_())
→ Ссылка