Python

Kuidas kasutada PyQt QMessageBoxi

Kuidas kasutada PyQt QMessageBoxi
Sõnumikasti kasutatakse GUI-rakenduses kasutajale vajaliku teabe edastamiseks või kasutajale sõnumi põhjal toimingute tegemiseks. Igale GUI-rakendusele saab luua nelja tüüpi sõnumikaste, sealhulgas infosõnumite kast, hoiatusteadete kast, kriitiliste sõnumite kast ja küsimuste kast. The QMessageBox klassi PyQt kasutatakse Pythonis sõnumikasti loomiseks. See õpetus näitab teile, kuidas kasutada klassi QMessageBox erinevate sõnumikastide loomiseks.

Vajalikud meetodid

Klassil QMessageBox on mitut tüüpi teadetekastide loomiseks palju meetodeid. Mõnda QMessageBox-klassi sagedamini kasutatavat meetodit kirjeldatakse allpool:

Meetodi nimed  Eesmärk
setTitle () Kasutatakse kohandatud pealkirja kuvamiseks.
setText () Kasutatakse põhisõnumi teksti määramiseks.
setDetailText () Kasutatakse üksikasjade nupuga akna kuvamiseks; sõnumi tekst ilmub pärast seda, kui kasutaja nupule klõpsab.
setInformativeText Kasutatakse täiendava teate kuvamiseks.
setIcon () Kasutatakse sõnumi tüübi põhjal sõnumikasti ikooni määramiseks.
setWindowTitle () Kasutatakse sõnumi akna pealkirja määramiseks.
setDefaultButton () Kasutatakse sõnumikasti vaikenupu määramiseks; nupp vabastab klõpsatud signaali, kui Sisenema vajutatakse.
setEscapeButton () Kasutatakse suvalise nupu seadmiseks töötama pääsuklahvina; nupp vabastab klõpsatud signaali, kui Põgeneda vajutatakse.
setStandardButtons () Sõnumiliigi põhjal saab sõnumikastis kasutada erinevaid standardnuppe, näiteks OK, Jah, Ei, Tühista, Sule jne.

QMessageBoxi kasutamine

Selle juhendaja järgmistes jaotistes on näited, mis näitavad, kuidas luua QMessageBox klassi abil erinevaid sõnumikaste.

Näide 1: Looge teavituskast

Järgmine skript loob klassi QMessageBox abil lihtsa teabeteabe. Seda tüüpi sõnumikast pakub teabesõnumit ainult kasutajale. Okei on sõnumikasti vaikenupp. Siin, QMessageBox.Teave kasutatakse setIcon () meetod teabe kuvamise ikooni kuvamiseks sõnumikastis.

# Impordi vajalikud moodulid
impordi süsteem
alates PyQt5.QtWidgetid impordivad QApplicationi, QMainWindowi, QMessageBoxi
# Määratlege klass teabesõnumi kuvamiseks
klassi MessageWindow (QMainWindow):
def __init __ (ise):
# Helistage vanemkonstruktorile
Super().__selles__()
# Loo sõnumikasti objekt
ise.msg = QMessageBox ()
# Määrake teabeikoon
ise.sõnum.setIcon (QMessageBox.Teave)
# Määrake põhisõnum
ise.sõnum.setText ("Ülesanne on edukalt lõpule viidud.")
# Määrake akna pealkiri
ise.sõnum.setWindowTitle ("Teabesõnum")
# Kuva sõnumikast
ise.sõnum.näita ()
# Loo rakenduse objekt ja käivitage rakendus
app = QApplication (sys.argv)
Win = MessageWindow ()
rakendus.exec ()

Pärast ülaltoodud skripti käivitamist kuvatakse järgmine teatekast.

Näide 2: Looge hoiatusteate kast

Järgmine skript loob klassi QMessageBox abil hoiatusteate. Seda tüüpi sõnumikast pakub kasutajale hoiatussõnumit. The hoiatus kasutatakse setIcon () meetod hoiatusikooni kuvamiseks sõnumikastis. The Okei ja Tühista nupud lisatakse sõnumikasti nupu abil setStandardButtons () meetod. Kohandatud meetod, mida nimetatakse msgButton () on klassis määratletud, et jälgida nuppu sõnumikastis, millele kasutaja on klõpsanud. Kui kasutaja klõpsab nuppu Okei nupp, seejärel tekst "Vajutatakse nuppu OK,'prindib; muul juhulVajutatakse nuppu Tühista'tekst prinditakse.

# Impordi vajalikud moodulid
impordi süsteem
alates PyQt5.QtWidgetid impordivad QApplicationi, QMainWindowi, QMessageBoxi
# Määratlege klass teabesõnumi kuvamiseks
klassi MessageWindow (QMainWindow):
def __init __ (ise):
# Helistage vanemkonstruktorile
Super().__selles__()
# Loo sõnumikasti objekt
ise.msgWarning = QMessageBox ()
# Määrake hoiatuse ikoon
ise.msgWarning.setIcon (QMessageBox.Hoiatus)
# Määrake põhisõnum
ise.msgWarning.setText ("Nimi muutuja on määratlemata.")
# Määrake sõnumikasti jaoks kaks nuppu
ise.msgWarning.setStandardButtons (QMessageBox.Ok | QMessageBox.Tühista)
# Helistage klõpsatud nupul kohandatud meetodile
ise.msgWarning.nuppKlikitud.ühendama (ise.msgButton)
# Määrake akna pealkiri
ise.msgWarning.setWindowTitle ("Hoiatusteade")
# Kuva sõnumikast
ise.msgWarning.näita ()
# Määrake nuppude funktsioon
def msgButton (ise, i):
kui ma.tekst () == '& OK':
print ("nuppu OK vajutatakse.")
muu:
print ("nuppu Tühista vajutatakse.")
# Loo rakenduse objekt ja käivitage rakendus
app = QApplication (sys.argv)
Win = MessageWindow ()
rakendus.exec_ ()

Pärast ülaltoodud skripti käivitamist kuvatakse järgmine teatekast.

Kui kasutaja klõpsab nuppu Okei nuppu, kuvatakse järgmine väljund.

Näide 3: a Küsimus Hoiatus Sõnum

Järgmine skript loob küsimussõnumikasti QMessageBoxi klassi abil. Seda tüüpi sõnumikast pakub kasutajale küsimussõnumit konkreetse toimingu tegemiseks vastavalt kasutaja otsusele. Siin, QMessageBox.Küsimus kasutatakse setIcon () meetod küsimuse ikooni kuvamiseks sõnumikastis. The Jah ja Ei nupud lisatakse sõnumikasti nupu abil setStandardButtons () meetod. The Ei nupp seatakse vaikenupuks, kasutades meetodit setDefaultButton (). Kohandatud meetod, mida nimetatakse msgButton () on klassis määratletud, et jälgida nuppu sõnumikastis, millele kasutaja on klõpsanud.

# Impordi vajalikud moodulid
impordi süsteem
alates PyQt5.QtWidgetid impordivad QApplicationi, QMainWindowi, QMessageBoxi
# Määratlege klass teabesõnumi kuvamiseks
klassi MessageWindow (QMainWindow):
def __init __ (ise):
# Helistage vanemkonstruktorile
Super().__selles__()
# Loo sõnumikasti objekt
ise.msgQuestion = QMessageBox ()
# Määrake hoiatuse ikoon
ise.msgQuestion.setIcon (QMessageBox.Küsimus)
# Määrake põhisõnum
ise.msgQuestion.setText ("Kas soovite jätkata?")
# Määrake sõnumikasti jaoks kaks nuppu
ise.msgQuestion.setStandardButtons (QMessageBox.Jah | QMessageBox.Ei)
ise.msgQuestion.setDefaultButton (QMessageBox.Ei)
# Helistage klõpsatud nupul kohandatud meetodile
ise.msgQuestion.nuppKlikitud.ühendama (ise.msgButton)
# Määrake akna pealkiri
ise.msgQuestion.setWindowTitle ("Kasutajale küsimuse esitamine")
# Kuva sõnumikast
ise.msgQuestion.näita ()
# Määrake nuppude funktsioon
def msgButton (ise, i):
kui ma.tekst () == '& Jah':
print ("Ülesanne jätkub ...")
muu:
print ("Olete ülesande tühistanud.")
# Loo rakenduse objekt ja käivitage rakendus
app = QApplication (sys.argv)
Win = MessageWindow ()
rakendus.exec_ ()

Pärast ülaltoodud skripti käivitamist kuvatakse järgmine teatekast.

Kui kasutaja klõpsab nuppu Sisenema klahvi valimata, siis Ei nupp aktiveeritakse vaikimisi ja kuvatakse järgmine väljund:

Järeldus

Selles õpetuses loodi klassi QMessageBox abil kolm erinevat tüüpi sõnumikaste. Loodetavasti aitas see õpetus teil selle klassi kasutamist paremini mõista. Nüüd peaksite saama PyQt-rakenduse jaoks sõnumikasti luua.

Viis parimat ergonoomilist arvutihiiretoodet Linuxile
Kas pikaajaline arvuti kasutamine põhjustab valu randmes või sõrmedes?? Kas teil on liigeste jäikus ja peate pidevalt käsi suruma? Kas tunnete põletav...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
X-Mouse Button Control abil saate hiire nupud erinevates tarkvarades erinevalt ümber teha
Võib-olla vajate tööriista, mis võiks muuta teie hiire juhtimissüsteemi iga kasutatava rakendusega. Sel juhul võite proovida rakendust nimega X hiiren...