почему не запускается интерфейс на питоне?

import os
import sys
import youtube_dl
from PyQt5 import QtCore, QtGui, QtWidgets
from des import *


class downloader(QtCore.QThread):
    mysignal = QtCore.pyqtSignal(str)

    def __init__(self, parent=None):
        super().__init__(parent)
        self.url = None

    def run(self):
        self.mysignal.emit('Процесс скачивания запущен')

        with youtube_dl.YoutubeDL({}) as ydl:
            ydl.download([self.url])

        self.mysignal.emit('Процесс скачивания завершен')
        selfS.mysignal.emit('finish')

    def init_args(self, url):
        self.url = url


class gui(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.download_folder = None
        self.ui.pushbutton.clicked.connect(self.get_folder)
        self.ui.pushbutton_2.clicked.connect(self.start)
        self.mythread = downloader()
        self.mythread.mysignal.connect(self.handler)


    def start(self):
        if len(self.ui.lineEdit.text()) > 5:
            if self.download_folder != None:
                link = self.ui.lineEdit.text()
                self.mythread.init_args(link)
                self.mythread.start()
                self.locker(True)
        else:
            QtWidgets.QMessageBox.warning(self, "Ошибка", "Вы не выбрали папку")
    else:
        QtWidgets.QMessageBox.warning(self, "Ошибка" , "Ссылка на видео не указана")


    def get_folder(self):
        self.download_folder = QtWidgets.QFileDialog.getExistingDirectory(self, 'Выбрать папку для сохранения')
        os.chdir(self.download_folder)

    def handler(self, value):
        if value == 'finish' :
            self.locker(False)

        else:
            self.ui.plainTextEdit.appendPlainText(value)

    def locker(self, lock_value):
        base  = [self.ui.pushbutton, self.ui.pushbutton_2]

        for item in base: 
            item.setDisabled(lock_value)
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    win = gui()
    win.show()
    sys.exit(app.exec_())
if __name__ == "__main__":
    import sys
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

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