Проблема с текстом установки

Я с использованием вашего простого примера сделал скрипт, в котором после установки происходит распаковка и удаление файла. Следующий вопрос, как можно добавить к установщику скрипт, чтобы при нажатии кнопки в начале писало "Установка начата" , потом текст исчезает и появляется другой например "Распаковка архива", а в конце скрипта "Архив установлен". Вот скрипт:

def download_file(url: str, file_name: str):

    try:

        local_file_name, _ = urlretrieve(url, file_name)
        print(os.path.abspath(local_file_name))
    except:
        print(traceback.format_exc())

    import zipfile

    fantasy_zip = zipfile.ZipFile('sborka.zip')
    fantasy_zip.extractall()

    fantasy_zip.close()
    import os


    path = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'sborka.zip')
    os.remove(path)


... 


def downloadevent(self):
    url = 'http://ssilka/sborka.zip'
    file_name = 'sborka.zip'

    thread = Thread(target=download_file, args=(url, file_name))
    thread.start()

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

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

Пример скачивания файла в отдельном потоке:

from threading import Thread
import traceback
from urllib.request import urlretrieve

def download_file(url: str, file_name: str):
    try:
        urlretrieve(url, file_name)
    except:
        print(traceback.format_exc())

url = 'https://www.gravatar.com/avatar/5ed9664c5a688eb0355acb782a94f0d5?s=328&d=identicon&r=PG&f=1'
file_name = 'img.png'

thread = Thread(target=download_file, args=(url, file_name))
thread.start()

from threading import Thread
import traceback
from urllib.request import urlretrieve
import sys

def download_file(url: str, file_name: str):
    try:
        urlretrieve(url, file_name)
    except:
        print(traceback.format_exc())

...

class Ui_Form:
...
    def SetupUi(self):
        ...
        self.pushButton_2.clicked.connect(self.WebDownload)

    def WebDownload(self):
        myUrl = "http://1//2.zip"
        myFile = "3.zip"

        thread = Thread(target=download_file, args=(myUrl, myFile))
        thread.start()
→ Ссылка