У меня была такая же проблема с tkinter, и использование событий pypubsub было моим решением. Как указано в комментариях выше, вы должны запустить свой расчет в другой ветке, а затем отправить его в ветку графического интерфейса.
import time
import tkinter as tk
import threading
from pubsub import pub
lock = threading.Lock()
class MainApplication(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.parent = parent
self.label = tk.Label(root, text="Temperature / Humidity")
self.label.pack(side="top", fill="both", expand=True)
def listener(self, plot_data):
with lock:
"""do your plot drawing things here"""
self.label.configure(text=plot_data)
class WorkerThread(threading.Thread):
def __init__(self):
super(WorkerThread, self).__init__()
self.daemon = True # do not keep thread after app exit
self._stop = False
def run(self):
"""calculate your plot data here"""
for i in range(100):
if self._stop:
break
time.sleep(1)
pub.sendMessage('listener', text=str(i))
if __name__ == "__main__":
root = tk.Tk()
root.wm_geometry("320x240+100+100")
main = MainApplication(root)
main.pack(side="top", fill="both", expand=True)
pub.subscribe(main.listener, 'listener')
wt = WorkerThread()
wt.start()
root.mainloop()
Исследование страницы справочника [1] wget говорит это о-D:
Домены набора, которые будут сопровождаться. доменный список является разделенным запятыми списком доменов. Обратите внимание, что это не включает-H.
Эта консультация о-H выглядит интересной:
Позвольте охватить через хосты при выполнении рекурсивного получения.
Таким образом, необходимо просто добавить флаг-H к вызову.
(Сделав это, похож на все изображения, ограничиваются mfrost.typepad.com/cute_overload/images/2008/12/07 и mfrost.typepad.com/cute_overload/images/2008/12/08).
- [1], Хотя основной справочник wget находится в информационном формате.