Come usare pyqt qmessagebox

Come usare pyqt qmessagebox
La cassetta dei messaggi viene utilizzata nell'applicazione GUI per fornire le informazioni necessarie per l'utente o per chiedere all'utente di intraprendere azioni in base al messaggio. Possono essere creati quattro tipi di caselle di messaggio per qualsiasi applicazione GUI, tra cui la casella di messaggio informativa, la casella di messaggio di avviso, la casella di messaggio critica e la casella di messaggi di domanda. IL Qmessagebox La classe di Pyqt viene utilizzata in Python per creare una casella di messaggio. Questo tutorial mostra come utilizzare la classe QMessageBox per creare varie caselle di messaggi.

Metodi necessari

La classe QMessageBox ha molti metodi per la creazione di vari tipi di caselle di messaggi. Alcuni dei metodi più comunemente usati della classe QMessageBox sono descritti di seguito:

Nomi dei metodi Scopo
Settietle () Utilizzato per visualizzare il titolo personalizzato.
setText () Utilizzato per impostare il testo del messaggio principale.
setDetailText () Utilizzato per visualizzare una finestra con un pulsante Dettagli; Il testo del messaggio verrà visualizzato dopo che l'utente fa clic sul pulsante.
setInformativeText Utilizzato per visualizzare il messaggio aggiuntivo.
seticon () Utilizzato per impostare un'icona nella finestra di messaggio in base al tipo di messaggio.
setWindowTitle () Utilizzato per impostare il titolo della finestra del messaggio.
setDefaultButton () Utilizzato per impostare il pulsante nella casella di messaggio predefinita; Il pulsante rilascerà un segnale cliccato quando il accedere il tasto viene premuto.
seteScapeButton () Utilizzato per impostare qualsiasi pulsante per funzionare come chiave di fuga; Il pulsante rilascerà un segnale cliccato quando il Fuga il tasto viene premuto.
setStandardButtons () Vari pulsanti standard possono essere utilizzati nella finestra di messaggio in base al tipo di messaggio, come OK, sì, NO, Annulla, Chiudi, ecc.

Utilizzo di QmessageBox

Le seguenti sezioni di questo tutorial forniscono esempi che ti mostreranno come creare diverse caselle di messaggi utilizzando la classe QmessageBox.

Esempio 1: creare una finestra di messaggio informativa

Il seguente script creerà una semplice casella di messaggi informativi utilizzando la classe QMessageBox. Questo tipo di casella di messaggio fornisce il solo messaggio informativo per l'utente. OK è il pulsante predefinito nella casella di messaggio. Qui, Qmessagebox.Informazione è usato seticon () Metodo per visualizzare l'icona delle informazioni nella casella di messaggio.

# Importa i moduli necessari
Import sys
da pyqt5.QtWidgets Import Qapplication, QmainWindow, QMessageBox
# Definisci la classe per visualizzare un messaggio informativo
Classe MessageWindow (QmainWindow):
def __init __ (self):
# Chiama il costruttore genitore
super().__dentro__()
# Crea l'oggetto MessageBox
se stesso.msg = QMessageBox ()
# Imposta l'icona delle informazioni
se stesso.MSG.Seticon (QmessageBox.Informazione)
# Imposta il messaggio principale
se stesso.MSG.setText ("L'attività è completata correttamente.")
# Imposta il titolo della finestra
se stesso.MSG.setWindowTitle ("Messaggio informativo")
# Visualizza la finestra di messaggio
se stesso.MSG.spettacolo()
# Crea oggetto app ed esegui l'app
app = Qapplication (sys.argv)
Win = messageWindow ()
app.Exec ()

Verrà visualizzata la seguente cabina di messaggio dopo l'esecuzione dello script sopra.

Esempio 2: crea una finestra di messaggio di avviso

Il seguente script creerà la casella di messaggio di avviso utilizzando la classe QMessageBox. Questo tipo di casella di messaggio fornisce il messaggio di avviso per l'utente. IL avvertimento è usato seticon () Metodo per visualizzare l'icona di avviso nella casella di messaggio. IL OK E Annulla I pulsanti vengono aggiunti alla casella di messaggio usando il setStandardButtons () metodo. Un metodo personalizzato chiamato msgButton () è definito nella classe per rintracciare il pulsante nella finestra di messaggio che è stata cliccata dall'utente. Se l'utente fa clic su OK pulsante, quindi il testo, "Il pulsante OK viene premuto,'Stamperà; altrimenti, il 'Il pulsante Annulla viene premuto'Il testo stamperà.

# Importa i moduli necessari
Import sys
da pyqt5.QtWidgets Import Qapplication, QmainWindow, QMessageBox
# Definisci la classe per visualizzare un messaggio informativo
Classe MessageWindow (QmainWindow):
def __init __ (self):
# Chiama il costruttore genitore
super().__dentro__()
# Crea l'oggetto MessageBox
se stesso.msgWarning = QMessageBox ()
# Imposta l'icona di avviso
se stesso.msgwarning.Seticon (QmessageBox.Avvertimento)
# Imposta il messaggio principale
se stesso.msgwarning.setText ("Nome La variabile non è definita.")
# Imposta due pulsanti per la casella del messaggio
se stesso.msgwarning.SetStarstardButtons (QMessageBox.Ok | Qmessagebox.Annulla)
# Chiama il metodo personalizzato sul pulsante Clicked
se stesso.msgwarning.pulsante.Connetti (Self.msgbutton)
# Imposta il titolo della finestra
se stesso.msgwarning.setWindowTitle ("Messaggio di avviso")
# Visualizza la finestra di messaggio
se stesso.msgwarning.spettacolo()
# Definisci la funzione per i pulsanti
def msgbutton (self, i):
se io.text () == '& ok':
Stampa ("Il pulsante OK viene premuto.")
altro:
Stampa ("Il pulsante Annulla viene premuto.")
# Crea oggetto app ed esegui l'app
app = Qapplication (sys.argv)
Win = messageWindow ()
app.Exec_ ()

Verrà visualizzata la seguente cabina di messaggio dopo l'esecuzione dello script sopra.

Se l'utente fa clic su OK pulsante, verrà visualizzata la seguente output.

Esempio 3: crea un Domanda Avvertimento Messaggio

Il seguente script creerà la casella di messaggi di domanda utilizzando la classe QMessageBox. Questo tipo di casella di messaggio fornisce il messaggio di domanda per l'utente per intraprendere l'azione particolare in base alla decisione dell'utente. Qui, Qmessagebox.Domanda è usato seticon () Metodo per visualizzare l'icona della domanda nella casella di messaggio. IL E NO I pulsanti vengono aggiunti alla casella di messaggio usando il setStandardButtons () metodo. IL NO Il pulsante è impostato come pulsante predefinito utilizzando il metodo setDefaultButton (). Un metodo personalizzato chiamato msgButton () è definito nella classe per rintracciare il pulsante nella finestra di messaggio che è stata cliccata dall'utente.

# Importa i moduli necessari
Import sys
da pyqt5.QtWidgets Import Qapplication, QmainWindow, QMessageBox
# Definisci la classe per visualizzare un messaggio informativo
Classe MessageWindow (QmainWindow):
def __init __ (self):
# Chiama il costruttore genitore
super().__dentro__()
# Crea l'oggetto MessageBox
se stesso.msGQuestion = QMessageBox ()
# Imposta l'icona di avviso
se stesso.msgquetions.Seticon (QmessageBox.Domanda)
# Imposta il messaggio principale
se stesso.msgquetions.setText ("Vuoi continuare?")
# Imposta due pulsanti per la casella del messaggio
se stesso.msgquetions.SetStarstardButtons (QMessageBox.Sì | Qmessagebox.NO)
se stesso.msgquetions.SetDefaultButton (QMessageBox.NO)
# Chiama il metodo personalizzato sul pulsante Clicked
se stesso.msgquetions.pulsante.Connetti (Self.msgbutton)
# Imposta il titolo della finestra
se stesso.msgquetions.setwindowtitle ("porre domanda all'utente")
# Visualizza la finestra di messaggio
se stesso.msgquetions.spettacolo()
# Definisci la funzione per i pulsanti
def msgbutton (self, i):
se io.text () == 'e sì':
Stampa ("Il compito sta continuando ...")
altro:
stampa ("hai cancellato l'attività.")
# Crea oggetto app ed esegui l'app
app = Qapplication (sys.argv)
Win = messageWindow ()
app.Exec_ ()

Verrà visualizzata la seguente cabina di messaggio dopo l'esecuzione dello script sopra.

Se l'utente fa clic su accedere tasto senza selezionare i pulsanti, quindi il NO Il pulsante verrà attivato per impostazione predefinita e apparirà il seguente output:

Conclusione

In questo tutorial, sono stati creati tre diversi tipi di caselle di messaggio utilizzando la classe QMessageBox. Spero che questo tutorial ti abbia aiutato a capire meglio l'uso di questa classe. Ora dovresti essere in grado di creare una finestra di messaggio per l'applicazione PYQT.