Python

Bygg en PyQt-applikasjon som eksempel

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

Lag en enkel PyQt-applikasjon for tillegg:

Trinnene for å implementere en enkel PyQt-applikasjon for å beregne summen av to tall er vist i denne delen av opplæringen. Her vil tallverdiene bli tatt fra brukeren ved hjelp av tekstbokser, etter at skriptet er utført, så vil summen av verdiene vises etter å ha klikket på en knapp. Her er det opprettet et vindu med nødvendige felt for å bygge utformingen av applikasjonen; deretter brukes Python-skriptet til å beregne summen.

Fremgangsmåte:

Trinn 1. Lag PyQt applikasjonsobjekt

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

QApplication, QMainWindow, QLabel, QTextEdit, og QPushButton moduler kreves for å utforme 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 å opprette applikasjonsobjektet og starte hendelsessløyfen. Ingenting vises etter å ha utført skriptet nå.

# Opprett objekt PyQt-applikasjon
app = QApplication ([])
# Start hendelsessløyfen for å kjøre applikasjonen
app.utføre ()

Trinn 2: Opprett klasse- og vindusobjekt

Opprett klassen for å legge til de nødvendige objektene i dette trinnet for å designe applikasjonsvinduet.

Legg til følgende linjer for å opprette en klasse med et vindusobjekt. Her er tittel, størrelse og plassering av vinduet satt. Deretter kalles show () metoden for å vise vinduet som utdata.

klassetillegg (QMainWindow):
def __init __ (selv):
# Ring foreldrekonstruktøren
super().__i det__()
# Sett tittelen på vinduet
selv-.setWindowTitle ("PyQt Addition Application")
# Still inn bredden og høyden på vinduet
selv-.endre størrelse (350, 200)
# Flytt vinduets posisjon
selv-.flytte (800, 400)
# Vis vinduet
selv-.vise fram()

Du må lage objektet til klassen før du kjører hendelsessløyfen.

# Lag vindusobjekt
vindu = tillegg ()

Følgende blanke vindu vises etter at skriptet er utført.

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

Legg nå til de nødvendige objektene som kreves for å implementere applikasjonen. De tre objektene til QLabel widget, to gjenstander av QTextEdit widget, og et knappegjenstand til QPushButton widget blir opprettet i dette trinnet. De to første etikettobjektene vil bli brukt til å gi hjelpeteksten før tekstboksene. QTextEdit objekter vil bli brukt til å ta to tallverdier fra brukeren. QPushButton objekt vil bli opprettet for å beregne summen av inngangstallene ved hjelp av en hendelsesbehandlerfunksjon som vil bli opprettet i neste trinn. Det siste etikettobjektet vil bli brukt til å vise summeringen av de to tallene. Her, den setGeometry () funksjon kalles for hvert objekt for å sette objektets posisjon 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-.tekstboks1.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-.tekstboks2.setGeometry (200, 60, 70, 30)
# Lag trykknapp for å beregne summen
selv-.send inn = QPushButton ('Beregn sum', selv)
selv-.sende inn.setGeometry (80, 100, 190, 30)
# Lag etikett for å vise resultatet av summeringen
selv-.lblResult = QLabel (", selv)
selv-.lblResultat.setGeometry (80, 130, 200, 50)

Følgende utdata vises etter utførelsen av 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 konverteres til heltall ved hjelp av int () funksjon og lagres i num1 og num2 variabler. Neste, summen av num1 og num2 lagres i resultat variabel. Verdiene av num1, num2, og resultat variabler konverteres til strengverdier ved hjelp av str () før du lagrer verdiene i produksjon variabel. Det tredje etikettobjektet brukes til å vise innholdet i produksjon variabel.

def onKlikket (selv):
num1 = int (selv.tekstboks1.toPlainText ())
num2 = int (selv.tekstboks2.toPlainText ())
resultat = num1 + num2
utgang = "

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

'
selv-.lblResultat.setText (utgang)

Legg til følgende linjer i klassen etter knappobjektet du vil ringe påClicked () -metoden når du vil klikke på knappen.

# Anropsfunksjon når du klikker på knappen
selv-.sende inn.klikket.koble (selv.onClicked)

Etter at man har 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 har blitt forklart i denne opplæringen fra det grunnleggende for å hjelpe de nye Python-brukerne. Forhåpentligvis vil brukeren være i stand til å designe og lage en enkel PyQt-applikasjon etter å ha fullført og forstå trinnene i denne opplæringen riktig.

Slik installerer du League Of Legends på Ubuntu 14.04
Hvis du er fan av League of Legends, er dette en mulighet for deg å prøvekjør League of Legends. Merk at LOL støttes på PlayOnLinux hvis du er en linu...
Installer det siste OpenRA-strategispillet på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spillmotor som gjenskaper de tidlige Westwood-spillene som den klassiske Command & Conquer: Red Alert. Di...
Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...