Tinker, modal a worker

Logik

  • *****
  • 1 076
    • Zobrazit profil
    • E-mail
Tinker, modal a worker
« kdy: Dnes v 09:15:03 »
Ahoj,píšu GUI aplikaci v Python+Tkinker.
Chci udělat modální dialog pomocí wait_window.
V tom modálním okně chci něco načíst pomocí background threadu.

Je nějaká možnost, jak z toho background threadu vyhodit event do event loopu toho modálního okna?

Řešení, co mi nabídli AI kecálci (pomocí after_idle, nebo event_generate) nefungují, protože to zřejmě pošlou do hlavního event loopu,
a ne do event_loopu vytvořeného pro modální dialog.
A pak ještě nabízejí zhůvěřilost, kdy modální okno bude pravidelně pollovat, jestli ten background thread doběhl.

Neznáte někdo lepší možnost?


Logik

  • *****
  • 1 076
    • Zobrazit profil
    • E-mail
Re:Tinker, modal a worker
« Odpověď #1 kdy: Dnes v 09:56:15 »
Tak jak to tak bývá, jakmile se člověk zeptá, najde řešení sám.

Opravdu se to řeší pomocí after (o kterém mi kecálci říkali, že není thread-safe), akorát během toho musí být spuštěna main_loop. Když je spuštěna jen smyčka modálního okna, tak to nefunguje.