Bygg en PYQT -applikasjon ved eksempel

Bygg en PYQT -applikasjon ved eksempel
PYQT er et veldig nyttig bibliotek med Python som brukes til å utvikle grafiske applikasjoner. Den bruker QT GUI Framework av Python som er utviklet ved hjelp av C ++ språk. Det grafiske brukergrensesnittet til applikasjonen kan utvikles ved å importere PYQT -biblioteket i et Python -skript eller bruke QT Designer -modulen til PYQT. Hvis du ikke vil skrive kode for å implementere GUI for applikasjonen, er det bedre å installere QT Designer og opprette et grafisk brukergrensesnitt ved hjelp av den. Måten å lage en PYQT-applikasjon i Python vises i denne opplæringen, trinnvis for trinn.

Lag en enkel PYQT -applikasjon for tillegg:

Trinnene for å implementere en enkel PYQT -applikasjon for å beregne summen av to tall vises i denne delen av opplæringen. Her vil tallverdiene bli hentet fra brukeren ved hjelp av tekstbokser, etter å ha utført skriptet, vil summen av verdiene vises etter å ha klikket på en knapp. Her er et vindu med de nødvendige feltene for å bygge utformingen av applikasjonen; Deretter brukes Python -skriptet til å beregne summen.

Trinn:

Trinn 1. Lag Pyqt applikasjonsobjekt

Du må importere de nødvendige modulene til Python for å designe PYQT -applikasjonen av denne opplæringen. For å designe denne applikasjonen, vil det kreve to etiketter, to tekstbokser og en trykknapp.

Qapplication, QMainWindow, Qlabel, QTextedit, og Qpushbutton Moduler vil bli pålagt å designe applikasjonen.

Legg til følgende linjer i begynnelsen av skriptet for å bruke disse modulene.

# Importer nødvendige moduler
Fra PYQT5.QtWidgets importerer Qapplication, QMainWindow, Qlabel, QTextedit, QpushButton

Legg til følgende linjer for å lage applikasjonsobjektet og starte hendelsessløyfen. Ingenting vil vises etter å ha utført skriptet nå.

# Opprett objekt PYQT -applikasjon
app = qapplication ([])
# Start arrangementssløyfen for å utføre applikasjonen
app.exec ()

Trinn 2: Lag klasse- og vindusobjekt

Lag klassen for å legge til nødvendige objekter i dette trinnet for å designe applikasjonsvinduet.

Legg til følgende linjer for å lage en klasse med et vindusobjekt. Her er tittelen, størrelsen og plasseringen av vinduet satt. Deretter kalles Show () -metoden for å vise vinduet som utgang.

Klassetilskudd (QMainWindow):
def __init __ (selv):
# Ring foreldrekonstruktøren
super().__i det__()
# Angi tittelen på vinduet
selv-.SetWindowTitle ("PYQT Addition Application")
# Angi bredden og høyden på vinduet
selv-.Endre størrelse (350, 200)
# Flytt vinduets plassering
selv-.Flytt (800, 400)
# Vis vinduet
selv-.forestilling()

Du må lage gjenstanden for klassen før du kjører arrangementssløyfen.

# Opprett vindusobjekt
vindu = tillegg ()

Følgende blanke vindu vises etter å ha utført skriptet.

Trinn 3: Legg til nødvendige widgeter i vinduet for tillegg

Legg nå til de nødvendige objektene som kreves for å implementere applikasjonen. De tre objektene til Qlabel widget, to objekter av QTextedit widget, og et knappobjekt av Qpushbutton Widget er opprettet i dette trinnet. De to første etikettobjektene vil bli brukt til å gi den hjelpende teksten før tekstboksene. QTextedit Objekter vil bli brukt til å ta to tallverdier fra brukeren. Qpushbutton Objekt vil bli opprettet for å beregne summen av inngangsnumrene ved å bruke en hendelsesbehandlerfunksjon som vil bli opprettet i neste trinn. Det siste etikettobjektet vil bli brukt til å vise oppsummeringen av de to tallene. Her, The setGeometry () Funksjon kalles for hvert objekt for å stille inn objektets plassering i vinduet.

# Lag etikett for det første nummeret
selv-.lbl1 = qlabel ('nummer 1', selv)
selv-.LBL1.setgeometry (80, 20, 80, 50)
# Opprett tekstboks for det første nummeret
selv-.TextBox1 = qTextedit (selv)
selv-.TEXTBOX1.SetGeometry (80, 60, 70, 30)
# Lag etikett for det andre nummeret
selv-.lbl2 = qlabel ('nummer 2', selv)
selv-.LBL2.setgeometry (200, 20, 80, 50)
# Opprett tekstboks for det andre nummeret
selv-.TextBox2 = qTextedit (selv)
selv-.TextBox2.setgeometry (200, 60, 70, 30)
# Opprett trykknapp for å beregne summen
selv-.Send = QpushButton ('Beregn sum', selv)
selv-.sende inn.setgeometry (80, 100, 190, 30)
# Lag etikett for å vise resultatet av summering
selv-.LblResult = Qlabel (", selv)
selv-.LblResult.setgeometry (80, 130, 200, 50)

Følgende utgang vises etter å ha utført skriptet. Ingen hendelsesbehandlerfunksjon opprettes i dette trinnet, som brukes til å beregne summen av tallene. Så hvis brukeren klikker på knappen, vil ingenting skje.

Trinn 4: Opprett og ring funksjonen for å håndtere klikkhendelsen til knappen

Lag en metode som heter OnClicked () med følgende linjer inne i addisjon Klasse for å håndtere klikkhendelsen på knappen. Verdiene til tekstboksene blir konvertert til heltallnummer ved å bruke int () funksjon og lagret i num1 og num2 variabler. Neste, summen av num1 og num2 lagres i resultat variabel. Verdiene til num1, num2, og resultat variabler konverteres til strengverdier ved bruk av Str () funksjon, før du lagrer verdiene i produksjon variabel. Det tredje etikettobjektet brukes til å vise innholdet i produksjon variabel.

def onclicked (selv):
num1 = int (selv.TEXTBOX1.TopLainText ())
num2 = int (selv.TextBox2.TopLainText ())
Resultat = num1 + num2
output = "

Summen av " + str (num1) +" og " + str (num2) +" er " + str (resultat) + '

'
selv-.LblResult.setText (output)

Legg til følgende linjer i klassen etter knappobjektet for å ringe OnClicked () -metoden når knappen vil bli klikket.

# Samtalefunksjon når knappen er klikket
selv-.sende inn.klikket.Koble til (selv.onklikket)

Etter å ha utført skriptet, hvis brukeren kom inn 12 og 18 i tekstboksene og klikket på Beregn sum knappen, og følgende formaterte utdata vises under knappen.

Konklusjon:

Implementeringen av en veldig enkel PYQT -applikasjon er blitt forklart i denne opplæringen fra grunnlaget for å hjelpe de nye Python -brukerne. Forhåpentligvis vil brukeren kunne designe og lage en enkel PYQT -applikasjon etter å ha fullført og forstå trinnene til denne opplæringen riktig.