Python

Rakenna PyQt-sovellus esimerkin avulla

Rakenna PyQt-sovellus esimerkin avulla
PyQt on erittäin hyödyllinen Python-kirjasto, jota käytetään graafisten sovellusten kehittämiseen. Se käyttää Qt-käyttöliittymäkehys Python, joka on kehitetty C ++ -kielellä. Sovelluksen graafinen käyttöliittymä voidaan kehittää tuomalla PyQt-kirjasto Python-komentosarjaan tai käyttämällä PyQt: n Qt Designer -moduulia. Jos et halua kirjoittaa koodia sovelluksen käyttöliittymän toteuttamiseksi, on parempi asentaa Qt Designer ja luoda graafinen käyttöliittymä sitä käyttämällä. Tapa luoda PyQt-sovellus Pythonissa on esitetty tässä opetusohjelmassa vaihe vaiheelta.

Luo yksinkertainen PyQt-sovellus lisäystä varten:

Vaiheet yksinkertaisen PyQt-sovelluksen toteuttamiseksi kahden luvun summan laskemiseksi esitetään tässä opetusohjelman osassa. Tällöin numeroarvot otetaan käyttäjältä tekstiruutujen avulla komentosarjan suorittamisen jälkeen, jolloin arvojen summa näkyy napsauttamalla painiketta. Tässä on luotu ikkuna, jossa on tarvittavat kentät sovelluksen suunnittelun rakentamiseksi; seuraavaksi Python-komentosarjaa käytetään laskemaan summa.

Askeleet:

Vaihe 1. Luo PyQt-sovellusobjekti

Sinun on tuotava tarvittavat Python-moduulit, jotta voit suunnitella tämän opetusohjelman PyQt-sovelluksen. Tämän sovelluksen suunnittelussa tarvitaan kaksi tarraa, kaksi tekstiruutua ja painike.

QApplication, QMainWindow, QLabel, QTextEdit, ja QPainike moduuleja tarvitaan sovelluksen suunnitteluun.

Lisää nämä rivit komentosarjan alkuun käyttääksesi näitä moduuleja.

# Tuo tarvittavat moduulit
PyQt5: stä.QtWidgetit tuovat QApplication, QMainWindow, QLabel, QTextEdit, QPushButton

Luo sovellusobjekti ja aloita tapahtumasilmukka lisäämällä seuraavat rivit. Mikään ei tule näkyviin komentosarjan suorittamisen jälkeen.

# Luo objekti PyQt-sovellus
app = QApplication ([])
# Käynnistä tapahtumasilmukka sovelluksen suorittamista varten
sovellus.exec ()

Vaihe 2: Luo luokka- ja ikkunaobjekti

Luo luokka lisätäksesi tarvittavat objektit tässä vaiheessa sovellusikkunan suunnittelua varten.

Luo luokka ikkunaobjektilla lisäämällä seuraavat rivit. Tässä asetetaan ikkunan otsikko, koko ja sijainti. Seuraavaksi kutsutaan show () -menetelmää näyttämään ikkuna ulostulona.

luokan lisäys (QMainWindow):
def __init __ (itse):
# Soita vanhemmalle rakentajalle
super ().__sen sisällä__()
# Aseta ikkunan otsikko
itse.setWindowTitle ("PyQt-lisäyssovellus")
# Aseta ikkunan leveys ja korkeus
itse.muuta kokoa (350, 200)
# Siirrä ikkunan sijaintia
itse.liikkua (800, 400)
# Näytä ikkuna
itse.näytä()

Sinun on luotava luokan objekti ennen tapahtumasilmukan suorittamista.

# Luo ikkunaobjekti
ikkuna = lisäys ()

Seuraava tyhjä ikkuna ilmestyy komentosarjan suorittamisen jälkeen.

Vaihe 3: Lisää tarvittavat widgetit lisäysikkunaan

Lisää nyt tarvittavat objektit, jotka tarvitaan sovelluksen toteuttamiseen. Kolme kohdetta QLabel widget, kaksi objektia QTextEdit widget ja painikkeen kohde QPainike widget luodaan tässä vaiheessa. Kahta ensimmäistä tarraobjektia käytetään tarjoamaan avustava teksti ennen tekstiruutuja. QTextEdit objekteja käytetään ottamaan kaksi numeroarvoa käyttäjältä. QPainike objekti luodaan laskemaan syötettyjen numeroiden summa käyttämällä tapahtumankäsittelyfunktiota, joka luodaan seuraavassa vaiheessa. Viimeistä tarraobjektia käytetään näyttämään kahden numeron summa. Tässä setGeometry () Toimintoa kutsutaan jokaiselle objektille asettamaan objektin sijainti ikkunassa.

# Luo tunniste ensimmäiselle numerolle
itse.lbl1 = QLabel ('Numero 1', itse)
itse.lbl1.setGeometry (80, 20, 80, 50)
# Luo tekstikenttä ensimmäiselle numerolle
itse.textbox1 = QTextEdit (itse)
itse.tekstiruutu 1.setGeometry (80, 60, 70, 30)
# Luo tunniste toiselle numerolle
itse.lbl2 = QLabel ('Numero 2', itse)
itse.lbl2.setGeometry (200, 20, 80, 50)
# Luo tekstiruutu toiselle numerolle
itse.textbox2 = QTextEdit (itse)
itse.tekstiruutu 2.setGeometry (200, 60, 70, 30)
# Luo painike summan laskemiseksi
itse.Lähetä = QPushButton ('Laske summa', itse)
itse.Lähetä.setGeometry (80, 100, 190, 30)
# Luo tunniste summauksen tuloksen näyttämiseksi
itse.lblResult = QLabel (", itse)
itse.lblTulos.setGeometry (80, 130, 200, 50)

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen. Tässä vaiheessa ei luoda tapahtumankäsittelytoimintoa, jota käytetään numeroiden summan laskemiseen. Joten jos käyttäjä napsauttaa painiketta, mitään ei tapahdu.

Vaihe 4: Luo ja soita toiminto, joka käsittelee painikkeen napsautustapahtuman

Luo nimetty menetelmä onClicked () seuraavat rivit lisäys luokka käsittelemään painikkeen napsautustapahtumaa. Tekstiruutujen arvot muunnetaan kokonaisluvuiksi käyttämällä int () toiminto ja tallennetaan num1 ja numero2 muuttujat. Seuraavaksi summa num1 ja numero2 tallennetaan tulos muuttuja. Arvot num1, numero2, ja tulos muuttujat muunnetaan merkkijonoarvoiksi käyttämällä str () ennen arvojen tallentamista ulostulo muuttuja. Kolmatta tarraobjektia käytetään näyttämään ulostulo muuttuja.

def onClicked (itse):
num1 = int (itse.tekstiruutu 1.toPlainText ())
num2 = int (itse.tekstiruutu 2.toPlainText ())
tulos = num1 + numero2
output = "

"+ Str (num1) +" ja "+ str (num2) +" summa on "+ str (tulos) + '

'
itse.lblTulos.setText (lähtö)

Lisää seuraavat rivit luokkaan sen jälkeen, kun painikeobjekti on soitettava onClicked () -menetelmään, kun painiketta napsautetaan.

# Puhelutoiminto, kun painiketta napsautetaan
itse.Lähetä.napsautti.yhdistää (itse.onClicked)

Jos käyttäjä on kirjoittanut komentosarjan suorittamisen jälkeen 12 ja 18 tekstikentissä ja napsauttanut Laske summa -painiketta, ja seuraava muotoiltu tulos näkyy painikkeen alla.

Johtopäätös:

Erittäin yksinkertaisen PyQt-sovelluksen käyttöönotto on selitetty tässä opetusohjelmassa perusopetuksesta uusien Python-käyttäjien auttamiseksi. Toivottavasti käyttäjä pystyy suunnittelemaan ja luomaan yksinkertaisen PyQt-sovelluksen saatuaan tämän opetusohjelman vaiheet päätökseen ja ymmärtäen ne oikein.

Ilmaiset ja avoimen lähdekoodin pelimoottorit Linux-pelien kehittämiseen
Tämä artikkeli kattaa luettelon ilmaisista ja avoimen lähdekoodin pelimoottoreista, joita voidaan käyttää 2D- ja 3D-pelien kehittämiseen Linuxissa. Tä...
Shadow of the Tomb Raider for Linux -opetusohjelma
Shadow of the Tomb Raider on kahdestoista lisäys Tomb Raider -sarjaan - toiminta-seikkailupelisarja, jonka on luonut Eidos Montreal. Kriitikot ja fani...
Kuinka parantaa FPS ää Linuxissa?
FPS tarkoittaa Kuvaa sekunnissa. FPS: n tehtävänä on mitata kehysnopeus videotoistoissa tai peliesityksissä. Yksinkertaisin sanoin sekunnissa näytettä...