INHOUDSOPGAWE:

Begin met Raspberry Pi GUI: 8 stappe
Begin met Raspberry Pi GUI: 8 stappe

Video: Begin met Raspberry Pi GUI: 8 stappe

Video: Begin met Raspberry Pi GUI: 8 stappe
Video: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, November
Anonim
Begin met Raspberry Pi GUI
Begin met Raspberry Pi GUI

U het dus 'n Raspberry Pi en 'n goeie idee, maar hoe maak u dit so maklik soos 'n slimfoon waarmee u kan kommunikeer?

Die bou van 'n grafiese gebruikerskoppelvlak (GUI) is eintlik redelik maklik, en met geduld kan u wonderlike projekte lewer.

Stap 1: die breë oorsig

Een van die kragtigste instrumente wat Raspberry Pi bied teenoor ander mikro's, is die vinnige tempo en gemak waarmee u 'n grafiese gebruikerskoppelvlak (GUI) vir u projek kan skep.

Een manier om dit te bereik, spesialiteit as u 'n volledige raakskerm het (of 'n standaardskerm en invoertoestel soos 'n muis), het dit ongelooflik geword!

Vir die doel van hierdie artikel gebruik ons Python 3 saam met Tkinter:

'N Kragtige biblioteek vir die ontwikkeling van grafiese gebruikerskoppelvlak (GUI) toepassings, op die Raspberry Pi wat makers betref.

Tkinter word waarskynlik die meeste met Python gebruik, en daar is baie hulpbronne op die internet.

Stap 2: 'Hallo wêreld' in Tkinter

Beeld
Beeld

Ons gebruik 'n Raspberry Pi gelaai met Raspbian Stretch OS.

Om ons Tkinter GUI -toepassings uit te voer. ons kan ook enige ander bedryfstelsel gebruik wat python geïnstalleer het.

Raspbian word voorsien met beide Python 2, Python 3 en die Tkinter -biblioteek.

Om te kyk watter weergawe u geïnstalleer het, vanaf die terminale uitvoer:

python3 -weergawe

Skep 'n nuwe lêer genaamd app.py en voer die onderstaande kode in:

#!/usr/bin/python

vanaf tkinter import * # invoer die Tkinter lib root = Tk () # skep die wortelvoorwerp root.wm_title ("Hello World") # stel die titel van die venster root.mainloop () # begin die GUI -lus

As u nie 'n IDE gebruik nie, voer die volgende opdrag in 'n terminale uit die gids met u Python -kode uit om die program uit te voer.

python3 app.py

Stap 3: Pas die venster aan

Pas die venster aan
Pas die venster aan

Kom ons kyk nou hoe u hierdie venster kan aanpas.

Agtergrondkleur

root.configure (bg = "black") # verander die agtergrondkleur na "black"

of

root.configure (bg = " # F9273E") # gebruik die heks -kleurkode

Venster afmetings

root.geometry ("800x480") # spesifiseer die vensterafmeting

of

root.attributes ("-volskerm", waar) # ingestel op volskerm

Hou in gedagte dat u in die volskermmodus vasval as u nie 'n manier om te verlaat skep nie

# ons kan verlaat as ons op die ontsnappingsleutel druk

def end_fullscreen (event): root.attributes ("-fullscreen", False) root.bind ("", end_fullscreen)

Stap 4: Widgets in Tkinter

Widgets in Tkinter
Widgets in Tkinter
Widgets in Tkinter
Widgets in Tkinter

Tkinter bevat baie verskillende widgets om u te help om die mees geskikte gebruikerskoppelvlak te skep. Widgets wat u kan gebruik, sluit in: • teksvak

• knoppies

• tjek knoppie

• skuifbalk

• lys boks

• radio knoppie

• ens.

Nou kan ons 'n paar widgets soos teks, knoppies en insette byvoeg.

Voeg widgets by

Etikette

label_1 = Etiket (root, text = "Hallo, wêreld!")

Voordat dit egter in die venster sigbaar is, moet ons die posisie daarvan instel. Ons sal roosterposisionering gebruik.

label_1.grid (ry = 0, kolom = 0) # stel die posisie in

Inskrywingsinvoer

label_1 = Label (root, text = "Hello, World!", font = "Verdana 26 bold, fg ="#000 ", bg ="#99B898 ")

label_2 = Etiket (root, text = "Wat is u naam?", hoogte = 3, fg = "#000", bg = "#99B898") entry_1 = Inskrywing (root) #invoerinskrywing label_1.grid (ry = 0, kolom = 0) label_2.grid (ry = 1, kolom = 0) entry_1.grid (ry = 1, kolom = 1)

Knoppies

#Voeg 'n knoppie in die venster by

Knoppie = Knoppie (wortel, teks = "Submit") Button.grid (ry = 2, kolom = 1)

Stap 5: Voeg logika by

Voeg logika by
Voeg logika by
Voeg logika by
Voeg logika by

Nou het ons 'n eenvoudige vorm, maar om op die knoppie te klik, doen niks nie !!

Ons sal ondersoek hoe om 'n gebeurtenis op die widgets met knoppies op te stel en dit te bind aan 'n funksie wat uitgevoer word as daar geklik word.

Vir hierdie doel sal ons label_1 opdateer om "Hallo + die teks wat in die invoer ingevoer is" te vertoon. As u die stuurknoppie kies.

Laai die onderstaande kode af en voer dit dan uit.

Stap 6: LED -beheer

LED -beheer
LED -beheer
LED -beheer
LED -beheer
LED -beheer
LED -beheer
LED -beheer
LED -beheer

Tot dusver sien ons hoe om die knoppie by die venster te voeg en logika daarby te voeg om aksie uit te voer.

Nou verander ons die kode 'n bietjie. Ons gaan dus 'n vorm skep en twee knoppies daarby voeg. Een om die LED aan/uit te skakel, en die ander om die program te verlaat.

Let wel: Maak seker dat u u Framboos opgedateer het voordat u begin, en dat u die GPIO -biblioteek geïnstalleer het. Maak die opdragvenster oop en voer die volgende installasie van die GPIO -biblioteek in. Maak die opdragvenster oop en voer die volgende in:

$ sudo apt-get update

$ sudo apt-get install python-rpi.gpio python3-rpi.gpio

Die gebou:

Onderdele benodig:

1 x Framboos Pi 3

1 x LED

1 x 330Ω Weerstand

Die bou van die kring:

Volg die foto's hierbo.

Gee aandag aan die LED -oriëntasie en die pen waar dit verbind is (GPIO23).

Stap 7: Voeg servomotorbeheerder by

Voeg servomotorbeheerder by
Voeg servomotorbeheerder by
Voeg servomotorbeheerder by
Voeg servomotorbeheerder by
Voeg servomotorbeheerder by
Voeg servomotorbeheerder by

Ons gaan na iets anders as 'n knoppie, ons kan ook verskillende insette gebruik om die PWM (Pulse Width Modulation) uitsette van die Raspberry Pi te beheer.

'N Servomotor is 'n uitstekende keuse; dit vertaal 'n PWM -sein in 'n hoek.

Die bouvorm:

Onderdele benodig:

1 x Framboos Pi 3

1 x LED

1 x 330Ω Weerstand

1 x servomotor

Bou die kring:

Volg die diagram hierbo (LED gekoppel aan GPIO 23, Servomotor gekoppel aan GPIO 18).

Kyk na die video as u vas is.

Stap 8: Gevolgtrekking

Daar het jy dit! Gaan voort en verower ongelooflike UI -idees!

As u enige vrae het, kan u natuurlik 'n opmerking lewer.

Besoek my kanaal vir meer inligting oor my werke

myYouTube

myTwitter

myLinkedin

Dankie dat u hierdie instruksies gelees het ^^ en 'n aangename dag. Sien jou. Ahmed Nouira.

Aanbeveel: