Grafik & GUI Flashcards

1
Q

Vad är skillnaden mellan grafik och GUI?

A

Grafik: Bibliotek skapade för ren grafik och visualisering.
GUI (Graphical User Interface): Bibliotek skapade för att bygga grafiska gränssnitt, inkluderar knappar, formulär och andra kontroller för interaktion.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Har Python inbyggda funktioner för grafikhantering eller GUI?

A

Nej, Python har inga inbyggda funktioner för grafikhantering eller GUI. Du måste installera och importera externa bibliotek.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad är Turtle i Python?

A

Turtle är ett enkelt grafikbibliotek skapat i utbildningssyfte. Det ritar på skärmen genom att styra en “sköldpadda” och fungerar utmärkt för enkla spel, ritningar, och matematiska mönster.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hur instruerar du turtlen att gå framåt 100 steg?

A

Använd ture.forward(100) för att få turtlen att gå framåt 100 steg.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hur instruerar du turtlen att svänga vänster 90 grader?

A

Använd ture.left(90) för att få turtlen att svänga vänster 90 grader.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hur kan du få turtlen att rita en kvadrat?

A

Instruera turtlen att gå framåt 100 steg och svänga vänster 90 grader, fyra gånger:

ture.forward(100)
ture.left(90)
# Upprepa ovanstående 4 gånger för att rita en kvadrat

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vilka är några grundläggande kommandon för att styra turtlen?

A

ture.forward(100): Gå framåt 100 steg.
ture.backward(100): Gå bakåt 100 steg.
ture.right(90): Vänd åt höger 90°.
ture.left(90): Vänd åt vänster 90°.
ture.goto(50, 50): Gå direkt till koordinaten (50, 50).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hur fungerar koordinater och vinklar i Turtle?

A

Koordinaten (0,0) är i mitten av skärmen.
Vinklarna ges av riktningen från x-axeln och går moturs:
0° är höger.
90° är ett kvarts varv.
180° är ett halvt varv.
360° är ett helt varv (detsamma som 0°).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hur kan du ändra turtlens utseende?

A

Använd ture.shape(“turtle”) för att ändra turtlens utseende till en sköldpadda.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hur ställer du in skärmens storlek och bakgrundsfärg i Turtle?

A

Använd screen.setup(width, height) för att ställa in skärmens storlek och screen.bgcolor(“color”) för att ändra bakgrundsfärgen. Exempel:

python
Copy code
screen = turtle.Screen()
screen.setup(600, 400)
screen.bgcolor(“green”)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hur lägger du till en bakgrundsbild i Turtle?

A

Använd screen.bgpic(“filnamn.gif”) för att lägga till en bakgrundsbild. Bilden måste vara i .gif-format och finnas i samma mapp som Python-filen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hur kan du använda en bild som turtlens form?

A

Använd screen.addshape(“filnamn.gif”) för att lägga till bilden som form och sedan ture.shape(“filnamn.gif”) för att tillämpa den på turtlen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vilket bildformat stödjer Turtle?

A

Turtle stödjer endast .gif-formatet. Andra bildformat måste konverteras till .gif innan de kan användas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vilka är några fler kommandon i Turtle?

A

ture.penup(): Sluta rita.
ture.pendown(): Börja rita.
ture.begin_fill(): Börja fylla i färg.
ture.end_fill(): Sluta fylla i färg.
ture.fillcolor(“color”): Ändra fyllnadsfärg.
ture.circle(50): Rita en cirkel med radien 50.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vilka andra kommandon kan användas i Turtle?

A

ture.dot(100): Rita en prick med radien 100.
ture.write(“Ture”): Skriv texten “Ture”.
ture.speed(0): Ändra turtlens hastighet.
ture.pensize(5): Ändra pennans tjocklek.
ture.pencolor(“blue”): Ändra pennans färg.
ture.clear(): Rensa skärmen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad är viktigt att tänka på när man programmerar med Turtle?

A

Importera Turtle i början av programmet med import turtle.
Avsluta programmet med turtle.done().
Döp inte filen till turtle.py, eftersom det kan orsaka att programmet kraschar.

17
Q

Hur fungerar animering i Python?

A

Animering följer en loop där objektet visas, tas bort, ändrar egenskaper (t.ex. position eller bildruta), och visas igen.

17
Q

Är Turtle lämpligt för animering?

A

Turtle kan användas för enklare animeringar, men det är inte idealt eftersom bilden kan flimra och du måste skapa en egen loop.

18
Q

Vilka spelbibliotek finns tillgängliga för Python?

A

Det finns speciella Python-bibliotek för spel som ofta har stöd för game loops och animering av objekt. Exempel inkluderar Pygame och Arcade.

19
Q

Vad är Pygame?

A

Pygame är ett av de största spelbiblioteken för Python, skapades år 2000. Det är populärt och välkänt, men har ingen inbyggd loop, så du måste optimera och skapa en egen loop.

20
Q

Vad är Arcade?

A

Arcade är ett modernare spelbibliotek än Pygame, skapat omkring 2014. Det använder modern grafik (OpenGL) och har en inbyggd game loop, vilket gör det enklare att lära sig än Pygame.

21
Q

Hur skiljer sig Pygame från Arcade?

A

Pygame: Mycket populärt, lätt att hitta information, men något äldre och mer komplex att använda.
Arcade: Mindre populärt men lättare att använda och modernare, med bättre dokumentation.

22
Q

Vad står GUI för och vad innebär det

A

GUI står för “Graphical User Interface”. Det är ett användargränssnitt som gör det möjligt för användare att interagera med program via grafiska element som knappar, formulär och andra kontroller.

23
Q

Vad är skillnaden mellan GUI-bibliotek och Grafikbibliotek?

A

GUI-bibliotek: Används för program som fokuserar på interaktioner med användaren genom kontroller som knappar och formulär.

Grafikbibliotek: Används för program som fokuserar på grafiska presentationer, t.ex. spel.

24
Q

Hur är ett GUI vanligtvis uppbyggt?

A

Ett GUI är ofta uppbyggt kring widgets som knappar, formulär, och kontroller, som fungerar som byggstenar för användargränssnittet.

25
Q

Vilka typer av plattformar kan GUI-bibliotek användas på?

A

GUI-bibliotek kan användas på både stationära och mobila plattformar:

Desktop: Windows, Mac, Linux.
Mobilt: iOS, Android.
De flesta GUI-bibliotek är cross-platform, vilket innebär att de fungerar på flera olika plattformar.

26
Q

Vad är skillnaden mellan Native GUI och Egendesignat GUI?

A

Native GUI: Använder plattformens inbyggda GUI-bibliotek och ser ut som andra program på plattformen.

Egendesignat GUI: Har ett eget utseende som är likadant oavsett plattform, vilket är bra för program som spel eller appar som ska se likadana ut överallt.

27
Q

När är det bra att använda Native GUI jämfört med Egendesignat GUI?

A

Native GUI: Bra för standardprogram där användaren vill att utseendet ska matcha andra program på datorn, som ordbehandlingsprogram.

Egendesignat GUI: Bra för program som behöver se likadana ut på alla plattformar, t.ex. spel eller appar som Spotify och Discord.

28
Q

Vilka GUI-bibliotek finns tillgängliga i Python?

A

Python har inga inbyggda GUI- eller grafikbibliotek, men det finns flera tillgängliga att installera och importera, inklusive:

Tkinter (med i standardinstallationen)
PySimpleGUI
Qt for Python
Kivy
Flet

29
Q

Vad är Tkinter och vad används det för?

A

Tkinter bygger på Tcl/Tk från 1991 och är ett enkelt och cross-platform GUI-bibliotek. Det är daterat i utseendet och fungerar bra för enkla applikationer, men är inte native och sticker ut från andra program på plattformen.

30
Q

Vad är PySimpleGUI och hur skiljer det sig från Tkinter?

A

PySimpleGUI bygger på Tkinter (och andra GUI) men har förenklad kod och ett något snyggare utseende. Det syftar till att göra det enkelt att skapa GUI-applikationer, men är inte native.

31
Q

ad är Qt for Python och vad är dess fördelar?

A

Qt for Python är ett professionellt GUI-bibliotek baserat på Qt, ett universellt bibliotek som finns för många programmeringsspråk. Det är cross-platform och native, vilket innebär att det får sitt utseende från plattformen det körs på.

32
Q

Vad är Kivy och vad är det bra för?

A

Kivy är fokuserat på mobil- och touchkontroller men fungerar lika bra på desktop. Det är bra för att skapa program med ett unikt användargränssnitt som ser likadant ut på alla plattformar. Inriktat på egendesignade GUI.

33
Q

Vad är Flet och hur relaterar det till Flutter?

A

Flet är en implementering av Flutter för Python. Flutter är ett ramverk från Google som använder programmeringsspråket Dart och är optimerat för UI-design. Flet låter dig koda i Python men omvandlar det till Flutter i bakgrunden.

34
Q

För vilka typer av applikationer är Flet mest lämpligt?

A

Flet är främst avsett för mobil- eller mobilliknande UI, men fungerar också bra för desktop och web. Det är inte native och ser likadant ut på alla plattformar.

35
Q

Har GUI-bibliotek stöd för grafik?

A

Trots att GUI-bibliotek är fokuserade på UI, har de flesta stöd för grundläggande grafik genom canvas-element, som låter dig skapa en “målarduk” för att rita enklare grafik.

36
Q

Vilka GUI-bibliotek har stöd för native utseende och mobila enheter?

A

Tkinter:
Native utseende: Nej, Tkinter har inte ett utseende som automatiskt anpassar sig efter plattformen det körs på. Det ser likadant ut oavsett om det körs på Windows, Mac eller Linux.
Mobila enheter: Nej, Tkinter är inte optimerat för mobil användning och har inget stöd för att skapa appar för iOS eller Android.
PySimpleGUI:
Native utseende: Nej, precis som Tkinter har PySimpleGUI inte ett utseende som automatiskt anpassar sig efter plattformen.
Mobila enheter: Nej, PySimpleGUI är inte designat för att skapa appar för mobila enheter.
Qt for Python:
Native utseende: Ja, Qt for Python (baserat på Qt) anpassar sitt utseende efter den plattform det körs på, vilket ger ett utseende som är konsekvent med andra applikationer på systemet.
Mobila enheter: Ja, Qt for Python har stöd för att skapa applikationer för mobila enheter som iOS och Android, vilket gör det mycket flexibelt för utveckling över olika plattformar.
Kivy:
Native utseende: Nej, Kivy fokuserar på att ha ett konsekvent och unikt utseende oavsett plattform. Det betyder att applikationer ser likadana ut på alla enheter, men de ser inte ut som andra inhemska applikationer på plattformen.
Mobila enheter: Ja, Kivy är designat för att stödja utveckling av applikationer som fungerar både på desktop och mobila plattformar som Android och iOS.
Flet:
Native utseende: Nej, Flet använder samma utseende över alla plattformar eftersom det bygger på Googles Flutter-ramverk, vilket ger ett enhetligt utseende oavsett var applikationen körs.
Mobila enheter: Ja, Flet är främst designat för att skapa applikationer för mobila enheter, men det kan också användas för desktop och web-applikationer.