modos189
у меня (надеюсь, теперь небольшая) проблемка осталась - окно появляется только после выполнения всех операций.
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindowq()
ui.setupUi(MainWindow) # здесь вызывается d
MainWindow.show() # теперь показываем окно
setupUi используется для добавления виджетов к окну, а вы запихнули туда скачивание. Естественно show вызывается после скачивания.
# сначала показываем
MainWindow.show()
# потом скачиваем
ui.d(select_version)
# кстати, если select_version используется только тут, то нет смысла передавать ее через __init__
Еще для обновления прогресса возможно понадобиться в конце loadProgress вызвать QApplication.processEvents()
modos189
qt, в отличии от самого питона, мне не нравится что тут всё не очевидно
вот и не хочу пока в отдельный файл ложить дизайн, потому что даже если скопирую пример то не знаю как потом массивом создавать строки в списке и вообще большое количество разных __init__ меня пугает
Просто Qt использует ООП. __init__ - это как конструктор экземпляра. Почитайте учебник, там ничего сложного:
Классы