Pytonorm

Skapa en PyQt-applikation som exempel

Skapa en PyQt-applikation som exempel
PyQt är ett mycket användbart Python-bibliotek som används för att utveckla grafiska applikationer. Den använder Qt GUI-ramverk av Python som utvecklats med C ++ språk. Programmets grafiska användargränssnitt kan utvecklas genom att importera PyQt-biblioteket i ett Python-skript eller använda Qt Designer-modulen i PyQt. Om du inte vill skriva kod för att implementera applikationsgränssnittet, är det bättre att installera Qt Designer och skapa ett grafiskt användargränssnitt med det. Sättet att skapa en PyQt-applikation i Python visas i denna handledning steg för steg.

Skapa en enkel PyQt-applikation för tillägg:

Stegen för att implementera en enkel PyQt-applikation för att beräkna summan av två siffror visas i det här avsnittet i handledningen. Här kommer talvärdena att tas från användaren med hjälp av textrutor, efter att manuset har körts, sedan kommer summan av värdena att visas efter att ha klickat på en knapp. Ett fönster med nödvändiga fält har skapats här för att bygga applikationens design; därefter används Python-skriptet för att beräkna summan.

Steg:

Steg 1. Skapa PyQt-applikationsobjekt

Du måste importera de erforderliga modulerna av Python för att utforma PyQt-applikationen i denna handledning. För att designa denna applikation krävs två etiketter, två textrutor och en tryckknapp.

QApplication, QMainWindow, QLabel, QTextEdit, och QPushButton moduler krävs för att utforma applikationen.

Lägg till följande rader i början av skriptet för att använda dessa moduler.

# Importera nödvändiga moduler
från PyQt5.QtWidgets importerar QApplication, QMainWindow, QLabel, QTextEdit, QPushButton

Lägg till följande rader för att skapa applikationsobjektet och starta händelseloopen. Ingenting kommer att visas efter att manuset har körts nu.

# Skapa objekt PyQt-applikation
app = QApplication ([])
# Starta evenemangsslingan för att köra programmet
app.exec ()

Steg 2: Skapa klass- och fönsterobjekt

Skapa klassen för att lägga till nödvändiga objekt i detta steg för att utforma applikationsfönstret.

Lägg till följande rader för att skapa en klass med ett fönsterobjekt. Här ställs fönstrets titel, storlek och placering in. Därefter kallas metoden show () för att visa fönstret som utdata.

klasstillägg (QMainWindow):
def __init __ (själv):
# Ring föräldrakonstruktören
super().__i det__()
# Ställ in fönstrets titel
själv.setWindowTitle ("PyQt-tilläggsapplikation")
# Ställ in fönstrets bredd och höjd
själv.ändra storlek (350, 200)
# Flytta fönstrets position
själv.flytta (800, 400)
# Visa fönstret
själv.show()

Du måste skapa objektet för klassen innan du kör evenemangsslingan.

# Skapa fönsterobjekt
fönster = tillägg ()

Följande tomma fönster visas efter att manuset har körts.

Steg 3: Lägg till nödvändiga widgets i fönstret för tillägg

Lägg nu till nödvändiga objekt som krävs för att implementera applikationen. De tre föremålen för QLabel widget, två objekt av QTextEdit widget och ett knappobjekt för QPushButton widget skapas i detta steg. De två första etikettobjekten används för att tillhandahålla hjälptexten före textrutorna. QTextEdit objekt kommer att användas för att ta två nummervärden från användaren. QPushButton objekt skapas för att beräkna summan av inmatningsnumren med hjälp av en händelsehanteringsfunktion som kommer att skapas i nästa steg. Det sista etikettobjektet används för att visa summeringen av de två siffrorna. Här, den setGeometry () funktion krävs för varje objekt för att ställa in objektets position i fönstret.

# Skapa etikett för det första numret
själv.lbl1 = QLabel ('Number 1', själv)
själv.lbl1.setGeometry (80, 20, 80, 50)
# Skapa textruta för det första numret
själv.textbox1 = QTextEdit (själv)
själv.textruta1.setGeometry (80, 60, 70, 30)
# Skapa etikett för det andra numret
själv.lbl2 = QLabel ('Number 2', själv)
själv.lbl2.setGeometry (200, 20, 80, 50)
# Skapa textruta för det andra numret
själv.textbox2 = QTextEdit (själv)
själv.textruta2.setGeometry (200, 60, 70, 30)
# Skapa tryckknapp för att beräkna summan
själv.submit = QPushButton ('Beräkna summan', själv)
själv.Skicka in.setGeometry (80, 100, 190, 30)
# Skapa etikett för att visa resultatet av summeringen
själv.lblResult = QLabel (", själv)
själv.lblResultat.setGeometry (80, 130, 200, 50)

Följande utdata visas efter att manuset har körts. Ingen händelsehanteringsfunktion skapas i detta steg, som används för att beräkna summan av siffrorna. Så om användaren klickar på knappen kommer inget att hända.

Steg 4: Skapa och anropa funktionen för att hantera knappens klickhändelse

Skapa en metod som heter onClicked () med följande rader inuti tillägg klass för att hantera klickhändelsen på knappen. Värdena på textrutorna konverteras till heltal med hjälp av int () funktion och lagras i num1 och num2 variabler. Nästa, summan av num1 och num2 lagras i resultat variabel. Värdena för num1, num2, och resultat variabler konverteras till strängvärden med hjälp av str () innan du lagrar värdena i produktion variabel. Det tredje etikettobjektet används för att visa innehållet i produktion variabel.

def onClicked (själv):
num1 = int (själv.textruta1.toPlainText ())
num2 = int (själv.textruta2.toPlainText ())
resultat = num1 + num2
output = "

Summan av "+ str (num1) +" och "+ str (num2) +" är "+ str (resultat) + '

''
själv.lblResultat.setText (utdata)

Lägg till följande rader i klassen efter det knappobjekt som ska anropasClicked () -metoden när du klickar på knappen.

# Samtalsfunktion när du klickar på knappen
själv.Skicka in.klickade.ansluta (själv.onClicked)

Efter att ha kört skriptet, om användaren angav 12 och 18 i textrutorna och klicka på Beräkna summan knappen och följande formaterade utdata visas under knappen.

Slutsats:

Implementeringen av en mycket enkel PyQt-applikation har förklarats i den här handledningen med utgångspunkt från det grundläggande för att hjälpa de nya Python-användarna. Förhoppningsvis kommer användaren att kunna designa och skapa en enkel PyQt-applikation efter att ha slutfört och förstått stegen i denna handledning ordentligt.

Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...
Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...