Vi skal ikke gå i dybden på grafiske brukergrensesnitt, men dere skal lære de aller mest nødvendige mekanismene og deretter skal dere få en eksempelapplikasjon som dere kan bruke som utgangspunkt for oppgaven i denne leksjonen og gjerne i prosjektet.
For knapper og menyelementer er det som regel bare en hendelse vi er interessert i, nemlig at brukeren velger dem, og derfor er det enkelt å definere hva som skal skje ved å bruke `command=?`.
I en listeboks kan det være flere typer hendelser vi er interessert i, f.eks dobbeltklikk. Vi kan *binde opp* hendelser til aksjoner med `bind(hendelse, funksjon)`. I eksempelet under sier vi at funksjonen `edit_person()` skal kjøres når vi dobbeltklikkier på et element i listeboksen. Dette eksempelet finner du også i eksempelapplikasjonen under.
I en listeboks kan det være flere typer hendelser vi er interessert i, f.eks dobbeltklikk. Da kan vi *binde opp* hendelser til aksjoner med `bind(hendelse, funksjon)`. I eksempelet under sier vi at funksjonen *edit_person()* skal kjøres når vi dobbeltklikkier på et element i listeboksen. Dette eksempelet finner du også i eksempelapplikasjonen under.
* Menyer. En meny (Menu) kan inneholde flere meny-elementer med en kommando (command) for hvert element som peker på hvilken funksjon som skal kjøres når elementet velges. Se i *person_main.py* i eksempelprogrammet for å se hvordan vi lager disse.
* Lister (Listbox). Lister er litt mer kompliserte da vi gjerne trenger en *scrollbar*. Vi oppretter en *Scrollbar* og en *Listbox* hver for seg og knytter dem sammen. I tillegg må vi legge til elementene i lista en og en. Bruk eksempelapplikasjonen som utgangspunkt for å bruke disse da det er litt komplisert.