Найти - Пользователи
Полная версия: PyQt создание всплывающего окна
Начало » GUI » PyQt создание всплывающего окна
1 2
reclosedev
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__ - это как конструктор экземпляра. Почитайте учебник, там ничего сложного: Классы
modos189
спасибо, сделал так:

		MinecraftDownloadWindow = QtGui.QMainWindow()
		ui = Ui_MinecraftDownloadWindow(select_version)
		self.second_window = MinecraftDownloadWindow
		ui.setupUi(MinecraftDownloadWindow)
		MinecraftDownloadWindow.show()
		ui.d(select_version)

и из setupUi убрал вызов d

вызывать QApplication.processEvents() не потребовалось, исправно показывает прогресс скачки файла

закрыть окно, надеюсь, сам смогу пойду почитаю по ссылке
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB