„Python“

Kaip naudotis PyQt QMessageBox

Kaip naudotis PyQt QMessageBox
Pranešimų laukelis naudojamas GUI programoje, norint pateikti vartotojui reikiamą informaciją arba paprašyti vartotojo atlikti veiksmus pagal pranešimą. Bet kuriai GUI programai galima sukurti keturių tipų pranešimų laukelius, įskaitant informacinių pranešimų laukelį, įspėjamųjų pranešimų laukelį, kritinių pranešimų laukelį ir klausimų pranešimų laukelį. The „QMessageBox“ „PyQt“ klasė naudojama „Python“ pranešimų laukeliui sukurti. Šioje pamokoje parodoma, kaip naudoti „QMessageBox“ klasę kuriant įvairius pranešimų laukelius.

Būtini metodai

„QMessageBox“ klasėje yra daug būdų, kaip sukurti įvairių tipų pranešimų dėžutes. Kai kurie dažniausiai naudojami „QMessageBox“ klasės metodai aprašyti toliau:

Metodo pavadinimai  Tikslas
setTitle () Naudojamas rodyti pasirinktinį pavadinimą.
setText () Naudojamas pagrindinio pranešimo tekstui nustatyti.
setDetailText () Naudojamas langui su išsamios informacijos mygtuku rodyti; pranešimo tekstas pasirodys vartotojui spustelėjus mygtuką.
setInformativeText Naudojamas papildomam pranešimui rodyti.
setIcon () Naudojamas nustatyti pranešimo laukelio piktogramą pagal pranešimo tipą.
setWindowTitle () Naudojamas pranešimo lango pavadinimui nustatyti.
setDefaultButton () Naudojamas nustatyti mygtuką numatytame pranešimų laukelyje; mygtukas atlaisvins spustelėtą signalą, kai Įveskite paspaudžiamas mygtukas.
setEscapeButton () Naudojamas nustatyti, kad bet kuris mygtukas veiktų kaip pabėgimo raktas; mygtukas atlaisvins spustelėtą signalą, kai Pabegti paspaudžiamas mygtukas.
setStandardButtons () Atsižvelgiant į pranešimo tipą, pranešimo laukelyje gali būti naudojami įvairūs standartiniai mygtukai, pvz., Gerai, Taip, Ne, Atšaukti, Uždaryti ir kt.

„QMessageBox“ naudojimas

Tolesniuose šios pamokos skyriuose pateikiami pavyzdžiai, kurie parodys, kaip sukurti skirtingus pranešimų laukelius naudojant „QMessageBox“ klasę.

1 pavyzdys: sukurkite informacinį pranešimų laukelį

Šis scenarijus sukurs paprastą informacinių pranešimų laukelį naudodamas „QMessageBox“ klasę. Šio tipo pranešimų laukelyje pateikiamas informacinis pranešimas tik vartotojui. Gerai yra numatytasis mygtukas pranešimų laukelyje. Čia, „QMessageBox“.Informacija yra naudojamas setIcon () būdas parodyti informacijos piktogramą pranešimų laukelyje.

# Importuokite būtinus modulius
importuoti sistemas
iš PyQt5.„QtWidgets“ importuoja „QApplication“, „QMainWindow“, „QMessageBox“
# Apibrėžkite klasę, kad būtų rodomas informacinis pranešimas
klasės „MessageWindow“ („QMainWindow“):
def __init __ (savęs):
# Skambinkite pagrindiniam konstruktoriui
super ().__init __ ()
# Sukurkite pranešimų dėžės objektą
savarankiškai.msg = QMessageBox ()
# Nustatykite informacijos piktogramą
savarankiškai.pranešimas.„setIcon“ („QMessageBox“.Informacija)
# Nustatykite pagrindinį pranešimą
savarankiškai.pranešimas.setText ("Užduotis sėkmingai atlikta.")
# Nustatykite lango pavadinimą
savarankiškai.pranešimas.setWindowTitle („Informacinis pranešimas“)
# Rodyti pranešimų laukelį
savarankiškai.pranešimas.Rodyti()
# Sukurkite programos objektą ir paleiskite programą
app = QApplication (sys.argv)
Win = MessageWindow ()
programa.exec ()

Šis pranešimo laukelis pasirodys po to, kai bus įvykdytas aukščiau pateiktas scenarijus.

2 pavyzdys: sukurkite įspėjamąjį pranešimų laukelį

Šis scenarijus sukurs įspėjimo pranešimų laukelį naudodamas „QMessageBox“ klasę. Šio tipo pranešimų laukelyje pateikiamas įspėjamasis pranešimas vartotojui. The įspėjimas yra naudojamas setIcon () būdas parodyti įspėjimo piktogramą pranešimų laukelyje. The Gerai ir Atšaukti mygtukai pridedami prie pranešimų laukelio naudojant setStandardButtons () metodas. Vadinamasis pasirinktinis metodas msgButton () klasėje apibrėžta, kad būtų galima atsekti mygtuką pranešimo laukelyje, kurį spustelėjo vartotojas. Jei vartotojas spusteli Gerai mygtuką, tada tekstą “Paspaudžiamas mygtukas Gerai,'atspausdins; priešingu atvejuPaspaudžiamas mygtukas Atšauktitekstas bus atspausdintas.

# Importuokite būtinus modulius
importuoti sistemas
iš PyQt5.„QtWidgets“ importuoja „QApplication“, „QMainWindow“, „QMessageBox“
# Apibrėžkite klasę, kad būtų rodomas informacinis pranešimas
klasės „MessageWindow“ (QMainWindow):
def __init __ (savęs):
# Skambinkite pagrindiniam konstruktoriui
super ().__init __ ()
# Sukurkite pranešimų dėžės objektą
savarankiškai.msgWarning = QMessageBox ()
# Nustatykite įspėjimo piktogramą
savarankiškai.msgWarning.„setIcon“ („QMessageBox“.Įspėjimas)
# Nustatykite pagrindinį pranešimą
savarankiškai.msgWarning.setText ("vardas kintamasis nėra apibrėžtas.")
# Nustatykite du pranešimų laukelio mygtukus
savarankiškai.msgWarning.setStandardButtons (QMessageBox.Gerai | „QMessageBox“.Atšaukti)
# Skambinkite pasirinktiniu metodu spustelėję mygtuką
savarankiškai.msgWarning.mygtukas Spustelėtas.prisijungti (savarankiškai.msgButton)
# Nustatykite lango pavadinimą
savarankiškai.msgWarning.setWindowTitle („Įspėjamasis pranešimas“)
# Rodyti pranešimų laukelį
savarankiškai.msgWarning.Rodyti()
# Apibrėžkite mygtukų funkciją
def msgButton (savarankiškai, i):
jeigu aš.tekstas () == '& Gerai':
spausdinti ("Paspaudžiamas mygtukas Gerai.")
Kitas:
spausdinti ("Paspauskite mygtuką Atšaukti.")
# Sukurkite programos objektą ir paleiskite programą
app = QApplication (sys.argv)
Win = MessageWindow ()
programa.exec_ ()

Šis pranešimo laukelis pasirodys po to, kai bus vykdomas aukščiau pateiktas scenarijus.

Jei vartotojas spusteli Gerai mygtuką, pasirodys toks išvestis.

3 pavyzdys: sukurkite a Klausimas Įspėjimas Pranešimas

Šis scenarijus sukurs klausimo pranešimo laukelį naudodamas „QMessageBox“ klasę. Šio tipo pranešimų laukelyje pateikiamas klausimo pranešimas, kad vartotojas galėtų atlikti tam tikrą veiksmą, atsižvelgdamas į vartotojo sprendimą. Čia, „QMessageBox“.Klausimas yra naudojamas setIcon () būdas parodyti klausimo piktogramą pranešimo laukelyje. The Taip ir Ne mygtukai pridedami prie pranešimų laukelio naudojant setStandardButtons () metodas. The Ne mygtukas nustatomas kaip numatytasis mygtukas naudojant setDefaultButton () metodą. Vadinamasis pasirinktinis metodas msgButton () klasėje apibrėžta, kad būtų galima atsekti pranešimą spustelėjusį pranešimą laukelyje esantį mygtuką.

# Importuokite būtinus modulius
importuoti sistemas
iš PyQt5.„QtWidgets“ importuoja „QApplication“, „QMainWindow“, „QMessageBox“
# Apibrėžkite klasę, kad būtų rodomas informacinis pranešimas
klasės „MessageWindow“ (QMainWindow):
def __init __ (savęs):
# Skambinkite pagrindiniam konstruktoriui
super ().__init __ ()
# Sukurkite pranešimų dėžės objektą
savarankiškai.msgQuestion = QMessageBox ()
# Nustatykite įspėjimo piktogramą
savarankiškai.msgQuestion.„setIcon“ („QMessageBox“.Klausimas)
# Nustatykite pagrindinį pranešimą
savarankiškai.msgQuestion.setText ("Ar norite tęsti?")
# Nustatykite du pranešimų laukelio mygtukus
savarankiškai.msgQuestion.setStandardButtons (QMessageBox.Taip | „QMessageBox“.Ne)
savarankiškai.msgQuestion.setDefaultButton (QMessageBox.Ne)
# Skambinkite pasirinktiniu metodu spustelėję mygtuką
savarankiškai.msgQuestion.mygtukas Spustelėtas.prisijungti (savarankiškai.msgButton)
# Nustatykite lango pavadinimą
savarankiškai.msgQuestion.setWindowTitle („Klausimas vartotojui“)
# Rodyti pranešimų laukelį
savarankiškai.msgQuestion.Rodyti()
# Apibrėžkite mygtukų funkciją
def msgButton (savarankiškai, i):
jeigu aš.tekstas () == '& Taip':
spausdinti ("Užduotis tęsiama ...")
Kitas:
spausdinti ("Atšaukėte užduotį.")
# Sukurkite programos objektą ir paleiskite programą
app = QApplication (sys.argv)
Win = MessageWindow ()
programa.exec_ ()

Šis pranešimo laukelis pasirodys po to, kai bus įvykdytas aukščiau pateiktas scenarijus.

Jei vartotojas spusteli Įveskite klavišą nepasirinkus jokių mygtukų, tada Ne mygtukas bus aktyvuotas pagal numatytuosius nustatymus ir pasirodys tokia išvestis:

Išvada

Šioje pamokoje naudojant QMessageBox klasę buvo sukurti trys skirtingų tipų pranešimų laukeliai. Tikimės, kad ši pamoka padėjo jums geriau suprasti šios klasės naudojimą. Dabar turėtumėte galėti sukurti „PyQt“ programos pranešimų laukelį.

Geriausios „Linux“ skirtos „Gamepad“ žemėlapių sudarymo programos
Jei jums patinka žaisti žaidimus „Linux“ su žaidimų pultu, o ne įprasta klaviatūra ir pelės įvesties sistema, yra keletas jums naudingų programų. Daug...
Naudingi įrankiai „Linux“ žaidėjams
Jei jums patinka žaisti žaidimus „Linux“ sistemoje, yra tikimybė, kad galbūt naudojote tokias programas ir įrankius kaip „Wine“, „Lutris“ ir „OBS Stud...
„HD Remastered“ žaidimai, skirti „Linux“, kurie niekada anksčiau nebuvo išleisti „Linux“
Daugelis žaidimų kūrėjų ir leidėjų siūlo senų žaidimų HD remasterį, kad prailgintų franšizės laiką. Prašome gerbėjų, prašančių suderinamumo su šiuolai...