Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.188.61.223] |
|
Сообщ.
#1
,
|
|
|
Как запустить обработку файла после отрисовки окна?
#!/usr/bin/python from gi.repository import Gtk class MyWindow(Gtk.Window): def __init__(self): Gtk.Window.__init__(self, title="Hello World") self.button = Gtk.Button(label="Click Here") self.button.connect("clicked", self.on_button_clicked) self.add(self.button) def on_button_clicked(self, widget): print("Hello World") win = MyWindow() win.connect("delete-event", Gtk.main_quit) win.show_all() Gtk.main() |
Сообщ.
#2
,
|
|
|
Это что, минимальное приложение из набора примеров PyGTK?
Цитата SeniorAndy @ Как запустить обработку файла после отрисовки окна? В чём вопрос-то? Открывай и обрабатывай. |
Сообщ.
#3
,
|
|
|
Это я скопировал пример из документации.
На какое событие мне нужно добавить функцию расчета? Файл более 200мб и обработка будет идти долго. Я хочу что бы окно вывелось на экран, а потом будет нужно запустить функцию загрузки файла и обработки файла. И в процессе обработки я буду выводить прогресс бар. Как делать сам прогресс бар я уже нашел. Пересмотрел все примеры, но везде создается окно, на котором рисуются разные элементы с их обработчиками, ситуация когда после вывода окна необходимо сделать какие-то действия не рассмотрена. По документации тоже не удалось найти нужное событие. Added Вопрос решён |
Сообщ.
#4
,
|
|
|
Обработка файла должна быть в одном потоке, GUI - в другом. Поток для обработки можно создать хоть где. Файл, кстати, по возможности лучше не грузить целиком, а обрабатывать частями или прямо с диска.
|
Сообщ.
#5
,
|
|
|
Как работать с потоками?
У нас эту задачу мы делали в консоле скриптом, но сейчас лучше построить графики, поэтому используем Gtk. Загружать файл частями в этой конкретной задаче не получится, поэтому загружаем целиком, расход памяти занимает +2Гб после запуска скрипта из консоли - это не страшная потеря. Анализ данных делаем только для себя, скрипт можно сказать, одноразовый. Но хорошую документацию о потоках и как грамотно с ними работать, почитал бы с удовольствием. |
Сообщ.
#6
,
|
|
|
Какой Python?
Если 2 - https://www.google.ru/search?q=python+multithreading Если 3 - можно посмотреть на https://docs.python.org/3.4/library/asyncio.html |
Сообщ.
#7
,
|
|
|
Python 3
Заготовок старых скриптов нет, поэтому сразу делаем на новой версии. |