Python

Byg en PyQt-applikation som eksempel

Byg en PyQt-applikation som eksempel
PyQt er et meget nyttigt bibliotek af Python, der bruges til at udvikle grafiske applikationer. Det bruger Qt GUI-ramme af Python, der er udviklet ved hjælp af C ++ sprog. Programmets grafiske brugergrænseflade kan udvikles ved at importere PyQt-biblioteket i et Python-script eller ved hjælp af Qt Designer-modulet i PyQt. Hvis du ikke ønsker at skrive kode for at implementere GUI'en til applikationen, er det bedre at installere Qt Designer og oprette en grafisk brugergrænseflade ved hjælp af den. Måden at oprette en PyQt-applikation i Python vises i denne vejledning trin for trin.

Opret en simpel PyQt-applikation til tilføjelse:

Trinene til implementering af en simpel PyQt-applikation til beregning af summen af ​​to tal vises i dette afsnit af vejledningen. Her tages talværdierne fra brugeren ved hjælp af tekstfelter efter udførelse af scriptet, så vises summen af ​​værdierne efter at have klikket på en knap. Her er der oprettet et vindue med de nødvendige felter til at bygge applikationens design; derefter bruges Python-scriptet til at beregne summen.

Trin:

Trin 1. Opret PyQt-applikationsobjekt

Du skal importere de krævede moduler af Python for at designe PyQt-applikationen i denne vejledning. For at designe denne applikation kræver den to etiketter, to tekstfelter og en trykknap.

QApplication, QMainWindow, QLabel, QTextEdit, og QPushButton moduler kræves for at designe applikationen.

Tilføj følgende linjer i begyndelsen af ​​scriptet for at bruge disse moduler.

# Importer nødvendige moduler
fra PyQt5.QtWidgets importerer QApplication, QMainWindow, QLabel, QTextEdit, QPushButton

Tilføj følgende linjer for at oprette applikationsobjektet og starte begivenhedssløjfen. Intet vises efter udførelse af scriptet nu.

# Opret objekt PyQt-applikation
app = QApplication ([])
# Start begivenhedssløjfen til udførelse af applikationen
app.udføre ()

Trin 2: Opret klasse- og vindueobjekt

Opret klassen for at tilføje de nødvendige objekter i dette trin for at designe applikationsvinduet.

Tilføj følgende linjer for at oprette en klasse med et vindueobjekt. Her indstilles vinduets titel, størrelse og placering. Dernæst kaldes metoden show () for at vise vinduet som output.

klasse tilføjelse (QMainWindow):
def __init __ (selv):
# Ring til forældrekonstruktøren
super().__i det__()
# Indstil titlen på vinduet
selv.setWindowTitle ("PyQt-tilføjelsesapplikation")
# Indstil vinduets bredde og højde
selv.ændre størrelse (350, 200)
# Flyt vinduespositionen
selv.flyt (800, 400)
# Vis vinduet
selv.at vise()

Du skal oprette klassens objekt, før du kører begivenhedssløjfen.

# Opret vindueobjekt
vindue = tilføjelse ()

Følgende blanke vindue vises efter udførelse af scriptet.

Trin 3: Tilføj nødvendige widgets i vinduet til tilføjelse

Tilføj nu de nødvendige objekter, der kræves for at implementere applikationen. De tre objekter af QLabel widget, to objekter af QTextEdit widget og et knapobjekt til QPushButton widget oprettes i dette trin. De første to etiketobjekter vil blive brugt til at give hjælpeteksten før tekstfelterne. QTextEdit objekter vil blive brugt til at tage to talværdier fra brugeren. QPushButton objekt oprettes for at beregne summen af ​​inputnumrene ved hjælp af en begivenhedshåndteringsfunktion, der oprettes i næste trin. Det sidste etiketobjekt bruges til at vise summen af ​​de to tal. Her, den setGeometry () funktion kaldes for hvert objekt til at indstille objektets position i vinduet.

# Opret etiket til det første nummer
selv.lbl1 = QLabel ('Nummer 1', selv)
selv.lbl1.setGeometry (80, 20, 80, 50)
# Opret tekstboks til det første nummer
selv.textbox1 = QTextEdit (selv)
selv.tekstboks1.setGeometry (80, 60, 70, 30)
# Opret etiket til det andet nummer
selv.lbl2 = QLabel ('Nummer 2', selv)
selv.lbl2.setGeometry (200, 20, 80, 50)
# Opret tekstboks til det andet nummer
selv.textbox2 = QTextEdit (selv)
selv.tekstboks2.setGeometry (200, 60, 70, 30)
# Opret trykknap for at beregne summen
selv.send = QPushButton ('Beregn sum', selv)
selv.Indsend.setGeometry (80, 100, 190, 30)
# Opret etiket for at vise resultatet af summeringen
selv.lblResult = QLabel (", selv)
selv.lblResult.setGeometry (80, 130, 200, 50)

Følgende output vises efter udførelse af scriptet. Ingen begivenhedshåndteringsfunktion oprettes i dette trin, som bruges til at beregne summen af ​​tallene. Så hvis brugeren klikker på knappen, sker der intet.

Trin 4: Opret og kald til funktionen for at håndtere klikhændelsen på knappen

Opret en metode, der hedder onClicked () med følgende linjer inden i tilføjelse klasse til at håndtere klikhændelsen på knappen. Værdierne for tekstbokse konverteres til heltal ved hjælp af int () funktion og gemmes i num1 og num2 variabler. Dernæst summen af num1 og num2 er gemt i resultat variabel. Værdierne af num1, num2, og resultat variabler konverteres til strengværdier ved hjælp af str () før lagring af værdierne i produktion variabel. Det tredje etiketobjekt bruges til at vise indholdet af produktion variabel.

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

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

''
selv.lblResult.setText (output)

Tilføj følgende linjer i klassen efter det knapobjekt, der skal kaldes påClicked () -metoden, når der klikkes på knappen.

# Opkaldsfunktion, når der trykkes på knappen
selv.Indsend.klikkede.forbinde (selv.onClicked)

Efter udførelse af scriptet, hvis brugeren indtastede 12 og 18 i tekstfelterne og klikte på Beregn sum knappen, og følgende formaterede output vises under knappen.

Konklusion:

Implementeringen af ​​en meget enkel PyQt-applikation er blevet forklaret i denne vejledning startende fra det grundlæggende for at hjælpe de nye Python-brugere. Forhåbentlig vil brugeren være i stand til at designe og oprette en simpel PyQt-applikation efter at have gennemført og forstået trinene i denne vejledning korrekt.

Installer det nyeste OpenRA-strategispil på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spilmotor, der genskaber de tidlige Westwood-spil som det klassiske Command & Conquer: Red Alert. Distrib...
Installer nyeste Dolphin Emulator til Gamecube & Wii på Linux
Dolphin Emulator giver dig mulighed for at spille dine valgte Gamecube & Wii-spil på Linux Personal Computers (PC). Som en frit tilgængelig og open s...
Sådan bruges GameConqueror Cheat Engine i Linux
Artiklen dækker en vejledning om brug af GameConqueror-snydemotoren i Linux. Mange brugere, der spiller spil på Windows, bruger ofte "Cheat Engine" -a...