Skip to main content

Ralsina.Me — Roberto Alsina's website

Blogging from LatinoWare

Just fin­ished speak­ing about PyQt pro­gram­ming in Lati­noWare.

It went ok, but I ran out of time, so no Q&A, and I could­n't show about 20% of the code. :-(

Any­way, here is the code in its dif­fer­ent stages, so you can see the "evo­lu­tion" of a sim­ple PyQt ap­p. I will prob­a­bly turn it in­to a re­al tu­to­ri­al in a few days and post it.

Here is the guide I was us­ing for my­self when do­ing the pre­sen­ta­tion:

    1. App back­­­end (1/­­to­­­do.py)

    2. Ba­sic win­­­dow with a treewid­get Col­umns Task/­­­Date/­­­Tags

    3. Com­pile archi­­­vo .ui, show how it works

    4. Tem­­­plate for main.py

    1. Load back­­­end da­­­ta in the task list

    2. Show in­­­ter­ac­­­tion is bro­ken

    1. Ex­­­plain sig­­­nal­s/s­lots

    2. Show dif­fer­­­ence be­tween 1/­­­main.py 2/­­­main.py

    3. Ex­­­plain au­­­to­­­con­nec­t, show on_lis­­­ta_item­Changed

    4. Show task per­­­sis­­­tence work­ing

    1. Fix tree dec­o­ra­­­tions

    2. Make items ed­itable

    3. Ex­­­plain changes in on_lis­­­ta_item­Changed

    4. Ex­­­plain the prob­lem with ed­it­ing date and tags in­­­­­line

    5. New idea: use a di­a­log to ed­it tasks (ed­i­­­tor.ui)

    6. Ex­­­plain lay­out man­agers

    1. Show changes in main.py

    1. Ac­­­tions

    2. Show ac­­­tions in de­sign­er

    3. Show ac­­­tions in main.py

    1. Tray

    2. Show tray class in main.py

    3. Show tray be­hav­iour

    4. Show dif­fer­­­ences in main.py


Contents © 2000-2023 Roberto Alsina