Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

PyQt Quickie: QTimer

El pri­mer ca­so es así:

# llamar f() en 3 segundos
QTimer.singleShot(3000, f)

El se­gun­do es así:

# Creamos un QTimer
timer = QTimer()
# Lo conectamos a f
timer.timeout.connect(f)
# Llamamos a f() cada 5 segundos
timer.start(5000)

¿Fá­ci­l, no? Bue­no, sí, pe­ro tie­ne un par de tram­pa­s.

  1. Hay que guar­dar la re­fe­ren­cia a ti­mer

    Si no, lo re­­co­­­ge el ba­­su­­re­­ro, y nun­­ca se lla­­ma a f()

  2. Ca­­paz que son más de 5 se­­gun­­dos

    Va a lla­mar a f() más o me­nos ca­da 5 se­gun­dos des­pués de que en­tre al event lo­op. Tal vez eso no sea en­se­gui­da des­pués de que arran­cás el ti­me­r!

  3. Ca­­paz que se pi­san las lla­­ma­­das

    Si f() tar­da mu­cho en ter­mi­na­r, y vuel­ve a en­trar al event lo­op (por ejem­plo, lla­man­do a pro­ce­ssE­ven­ts) tal vez ti­mer se dis­pa­re an­tes que f() ter­mi­ne, y la lla­me de nue­vo. Eso ca­si nun­ca es bue­na idea.

Una al­ter­na­ti­va:

def f():
    try:
        # Hacé cosas
    finally:
        QTimer.singleShot(5000, f)

f()

Ese fragmento llama a f() una sola vez, pero ella misma se pone en cola para correr en 5 segundos. Ya que lo hace en un finally lo va a hacer aún si las cosas se rompen.

O sea, no se va a pisar. También quiere decir que no son 5 segundos, sino 5 más lo que tarde f. Y no hace falta guardar referencias al QTimer.

Úl­ti­mo ti­po: po­dés usar QTi­mer pa­ra que al­go se ha­ga "a­pe­nas es­tés en el event lo­op"

QTimer.singleShot(0, f)

¡O­ja­lá sir­va!

Todos los candidatos a presidente en USA son idiotas o garcas

Por lo tan­to, hay dos op­cio­nes:

  1. Creen que es la ve­r­­da­­d, y son idio­­­ta­s.

  2. No lo creen, y di­­cen co­­sas fa­l­sas so­­­lo pa­­ra ga­­nar las ele­c­­cio­­­nes, en cu­­yo ca­­so son ga­r­­ca­s.

¡Fe­liz fu­tu­ro, USA!

Antonio María Delgado es un ignorante

Un po­co de con­tex­to. The Eco­no­mist pu­bli­ca (des­de ha­ce bas­tan­te), una co­sa lla­ma­da el "Mi­se­ry In­dex", que in­ten­ta cap­tu­rar los paí­ses en que los ha­bi­tan­tes la pa­san ma­l, a tra­vés de un par de in­di­ca­do­res eco­nó­mi­co­s, y po­ner­los en or­den.

En­ton­ce­s, el Sr. Del­ga­do va, lo lee, ve a Ve­ne­zue­la arri­ba en la lis­ta, y me ima­gino que se le en­cen­dió la lam­pa­ri­ta ba­jo con­su­mo, y al gri­to de "¡án­gu­lo po­lí­ti­co­!", co­rrió a es­cri­bir es­to:

"Ve­ne­zue­la se ubi­có el año pa­sa­do en el se­gun­do pues­to del "In­di­ce de Mi­se­ria" ela­bo­ra­do por la re­vis­ta bri­tá­ni­ca The Eco­no­mis­t..."

El pro­ble­ma, que­ri­do his­pa­no­par­lan­te, es que "mi­se­r­y" no sig­ni­fi­ca "mi­se­ria". Sig­ni­fi­ca "des­di­cha" o "tris­te­za", mien­tras que mi­se­ria sig­ni­fi­ca "ex­tre­ma po­bre­za". Y así, el Sr. Del­ga­do usa el pres­ti­gio que pu­die­ra te­ner The Eco­no­mis­t, pa­ra ti­rar tie­rra di­cien­do que Ve­ne­zue­la es el se­gun­do país mas po­bre del mun­do (en al­gún sen­ti­do­).

Mien­tras Cha­vez no es san­to de mi de­vo­ció­n, es­to es o ig­no­ran­te o es­tú­pi­do, ud. de­ci­de. Y por su­pues­to, es­to lo le­van­ta La Na­ción

Demetrio Fernandez es un boludo

Acla­re­mo­s: se su­po­ne que a un obis­po pa­ra salu­dar­lo, hay que be­sar­le la ma­no.

Por otro la­do, De­me­trio Fer­nan­dez es el bo­lu­do que di­jo es­to:

"El Mi­nis­tro pa­ra la Fa­mi­lia del Go­bierno pa­pa­l, el car­de­nal An­to­ne­lli, me di­jo ha­ce unos días en Za­ra­go­za que la UNES­CO tie­ne un pro­gra­ma du­ran­te los pr­óxi­mos 20 año­s, pa­ra ha­cer a la mi­tad de la po­bla­ción del mun­do ho­mo­se­xua­l", di­jo Fer­nán­de­z. "Pa­ra ello cuen­tan con dis­tin­tos pro­gra­ma­s, y con­ti­nua­rán la im­plan­ta­ción de la ideo­lo­gía que ya es­tá pre­sen­te en nues­tras es­cue­la­s".

QE­D. De­me­trio Fer­nan­dez es un bo­lu­do. El car­de­nal An­to­ne­lli es un bo­lu­do. Y si vas a la igle­sia en Cór­do­ba, Es­pa­ña, sa­bien­do es­to, y le be­sás la ma­no al bo­lu­do, sos un bo­lu­do.

Los dichos no son tus amigos.

Vea­mos a Bea­triz Sar­lo, res­pe­ta­da in­te­lec­tual ar­gen­ti­na. Es­cri­bió una co­lum­na en La Na­ción. Ter­mi­na así:

To­ta­l, Bou­dou, sin bro­mi­ta al­gu­na, de­be ade­cuar­se a lo que le to­que, obe­de­cien­do el vie­jo re­frán de que a un ca­ba­llo re­ga­la­do no hay que exa­mi­nar­lo pa­ra ver si vie­ne com­ple­to.

El pro­ble­ma que yo veo (si se me per­mi­te la pe­dan­te­ría (por su­pues­to (¡­gra­cias otro yo! (de na­da)))) es que la se­ño­ra Sar­lo no tie­ne idea de lo que ese di­cho sig­ni­fi­ca.

Po­né­le que es­tás com­pran­do un ca­ba­llo. Le re­vi­sa­rías la bo­ca por­que que­rés ver si es jo­ven o vie­jo (por ejem­plo pri­mer re­sul­ta­do de google). Eso es im­por­tan­te si es­tás com­pran­do un ca­ba­llo. No tan­to si te lo es­tán re­ga­lan­do:

Ti­po ma­ca­nu­do: ¡To­má un ca­ba­llo!

No tan ma­ca­nu­do: (re­vi­sa la bo­ca) ¡No gra­cia­s!

Por eso no le mi­rás los dien­tes a los ca­ba­llos re­ga­la­do­s. Y no bus­cás en ama­zon cuan­to sa­le el li­bro que te re­ga­la­ro­n.

Por otro la­do, si ha­bla­ras Ta­ma­rian, lo mi­rás en la bo­ca, ti­rás un "Tem­ba, des­can­san­do­", y lis­to.


Contents © 2000-2020 Roberto Alsina