Más GUI toolkit-ekben hogyan szokás ezt megoldani?
GTK-t és pythont használok.
Tegyük fel, hogy adott egy egyszerű Status Bar, ami mondjuk egy egyszerű 0-tól 100-ig for ciklus aktuális értékét jelzi ki, egy másodperces várakozásokkal.
A kihívás az számomra, hogy a for ciklus ne fagyassza be a main loop-ot, és minden ciklus után a Status Bar állapota változzon.
Gtk-ban ezt úgy oldom meg, hogy a ciklus egy függvényben van, a függvény egy thread targetje, és minden, ami ezen belül a Status Bar-t manipulálja, ahhoz a GLib.iddle_add() függvényt használom. Nem ismerem a pontos működését ennek, de valahogy megoldja a main loop-on kívüli feladatok ütemezését, hogy ne legyen hiba.
Gondolkoztam rajta, hogy célszerű lenne áttérni más toolkitre, pl. tkinterre, de nem találtam meg a fenti megoldás analógját, és ez tart vissza leginkább. Alternatív megoldást találtam, pl. generátor függvény használatát, de nem biztos, hogy azt általánosabb problémáknál is működne. Jó lenne, ha valaki elmagyarázná, hogy mi a bevett szokás, helyes módszer általában.
Sehol nem említetted, hogy egy többszálú, és valós idejű rendszerről lenne szó.
Bár ez esetben... eléggé unortodox dolog ilyen feladatra szkriptnyelvet használni.
Nyugodtan okosítsatok ki, én amatőr vagyok, és nagyjából úgy néz ki nálam, hogy ha hülyeség, de működik, akkor nem hülyeség.
A példával csak a probléma gyökerét próbáltam megragadni. Az alkalmazás kész van, működik évek óta, pygtk-ban megírva. Csak ha másik toolkitben kellene megírni (fontolgattam), akkor a fenti probléma miatt vakarnám a fejem, pedig ez egy alap dolog.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!