I am learning PYQT5 so this is my first try. To learn PYQT5 I started to make a youtube video downloader with pyqt5 and pytube but I couldn't handle the progress bar part(playlists). When I run the code it gives an AttributeError: 'mywindow' object has no attribute 'video'
Can you give me advice?
from PyQt5 import QtWidgets from pytube import YouTube, Playlist from mydesign import Ui_MainWindow # importing our generated file import sys class mywindow(QtWidgets.QMainWindow): def __init__(self): super(mywindow, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.action_IKI.setShortcut("Ctrl+Q") self.ui.pushButton.clicked.connect(self.click) self.ui.action_IKI.triggered.connect(self.quit) def quit(self): QtWidgets.QApplication.quit() def click(self): self.completed = 0 if self.ui.comboBox.currentIndex() == 0: while self.completed < 100: self.completed += 0.0001 self.ui.progressBar_2.setValue(self.completed) elif self.ui.comboBox.currentIndex() == 1: link = self.ui.lineEdit.text() yt = YouTube(link, on_progress_callback=self.progress_func) video = yt.streams.filter(progressive=True, file_extension='mp4').first() video.download() elif self.ui.comboBox.currentIndex() == 2: pass elif self.ui.comboBox.currentIndex() == 3: pl = Playlist(self.ui.lineEdit.text()) pl.populate_video_urls() for i in pl.video_urls: yt = YouTube(i, on_progress_callback=self.progress_func) video = yt.streams.filter(progressive=True, file_extension="mp4").first() video.download() def progress_func(self, stream, chunk, file_handle, bytes_remaining): size = self.video.filesize self.progress = (float(abs(bytes_remaining-size)/size))*float(100) self.ui.progressBar_2.setValue(self.progress) 