Metodi necessari
La classe QMessageBox ha molti metodi per creare vari tipi di finestre di messaggio. Alcuni dei metodi più comunemente usati della classe QMessageBox sono descritti di seguito:
Nomi dei metodi | Scopo |
---|---|
setTitolo() | 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 apparirà dopo che l'utente ha cliccato sul pulsante. |
setInformativeText | Utilizzato per visualizzare il messaggio aggiuntivo. |
setIcon() | Utilizzato per impostare un'icona nella finestra del messaggio in base al tipo di messaggio. |
setWindowTitle() | Usato per impostare il titolo della finestra del messaggio. |
setDefaultButton() | Utilizzato per impostare il pulsante nella casella di messaggio predefinita; il pulsante rilascerà un segnale di clic quando il accedere il tasto è premuto. |
setEscapeButton() | Utilizzato per impostare qualsiasi pulsante in modo che funzioni come chiave di fuga; il pulsante rilascerà un segnale di clic quando il Fuga il tasto è premuto. |
setStandardButtons() | Vari pulsanti standard possono essere utilizzati nella finestra del messaggio in base al tipo di messaggio, come OK, Sì, No, Annulla, Chiudi, ecc. |
Utilizzo QMessageBoxBox
Le sezioni seguenti di questo tutorial forniscono esempi che ti mostreranno come creare diverse finestre di messaggio usando la classe QMessageBox.
Esempio 1: creare una finestra di messaggio informativo
Il seguente script creerà una semplice finestra di messaggio informativo utilizzando la classe QMessageBox. Questo tipo di finestra di messaggio fornisce il messaggio informativo solo per l'utente. ok è il pulsante predefinito nella finestra del messaggio. Qui, QMessageBox.Informazione è usato in setIcon() metodo per visualizzare l'icona delle informazioni nella finestra dei messaggi.
# Importa i moduli necessarisistema di importazione
da PyQt5.QtWidgets importa 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à è stata completata con successo.")
# Imposta il titolo della finestra
se stesso.msg.setWindowTitle("Messaggio informativo")
# Visualizza la finestra dei messaggi
se stesso.msg.mostrare()
# Crea un oggetto app ed esegui l'app
app = QApplication(sys.argomento)
Win = Finestra Messaggio()
app.exec()
La seguente finestra di messaggio apparirà dopo l'esecuzione dello script sopra.
Esempio 2: creare una finestra di messaggio di avviso
Il seguente script creerà la finestra di messaggio di avviso utilizzando la classe QMessageBox. Questo tipo di finestra di messaggio fornisce il messaggio di avviso per l'utente. Il avvertimento è usato in setIcon() metodo per visualizzare l'icona di avviso nella finestra del messaggio. Il ok e Annulla i pulsanti vengono aggiunti alla finestra di messaggio utilizzando il setStandardButtons() metodo. Un metodo personalizzato chiamato pulsante msg() è definito nella classe per tracciare il pulsante nella finestra del messaggio che è stato cliccato dall'utente. Se l'utente fa clic su ok pulsante, quindi il testo, 'Viene premuto il pulsante OK,' stamperà; in caso contrario, il 'Viene premuto il pulsante Annulla'il testo verrà stampato.
# Importa i moduli necessarisistema di importazione
da PyQt5.QtWidgets importa 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.msgAvviso = QMessageBox()
# Imposta l'icona di avviso
se stesso.msgAvviso.setIcon(QMessageBox.Avvertimento)
# Imposta il messaggio principale
se stesso.msgAvviso.setText("Nome la variabile non è definita.")
# Imposta due pulsanti per la finestra dei messaggi
se stesso.msgAvviso.setStandardButtons(QMessageBox.Ok | QMessageBox.Annulla)
# Chiama il metodo personalizzato quando si fa clic sul pulsante
se stesso.msgAvviso.pulsanteCliccato.connettersi (auto).pulsante msg)
# Imposta il titolo della finestra
se stesso.msgAvviso.setWindowTitle("Messaggio di avviso")
# Visualizza la finestra dei messaggi
se stesso.msgAvviso.mostrare()
# Definire la funzione per i pulsanti
def msgButton(self, i):
se io.text() == '&OK' :
print("Il pulsante OK è stato premuto.")
altro:
print("Il pulsante Annulla è premuto.")
# Crea un oggetto app ed esegui l'app
app = QApplication(sys.argomento)
Win = Finestra Messaggio()
app.exec_()
La seguente finestra di messaggio apparirà dopo l'esecuzione dello script sopra.
Se l'utente fa clic su ok pulsante, apparirà il seguente output.
Esempio 3: creare un Domanda avvertimento Messaggio
Il seguente script creerà la finestra del messaggio della domanda utilizzando la classe QMessageBox. Questo tipo di finestra di messaggio fornisce il messaggio di domanda affinché l'utente possa intraprendere l'azione specifica in base alla decisione dell'utente. Qui, QMessageBox.Domanda è usato in setIcon() metodo per visualizzare l'icona della domanda nella finestra del messaggio. Il sì e No i pulsanti vengono aggiunti alla finestra di messaggio utilizzando il pulsante setStandardButtons() metodo. Il No button è impostato come pulsante predefinito usando il metodo setDefaultButton(). Un metodo personalizzato chiamato pulsante msg() è definito nella classe per tracciare il pulsante nella finestra del messaggio che è stato cliccato dall'utente.
# Importa i moduli necessarisistema di importazione
da PyQt5.QtWidgets importa 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.msgDomanda.setIcon(QMessageBox.Domanda)
# Imposta il messaggio principale
se stesso.msgDomanda.setText("Vuoi continuare??")
# Imposta due pulsanti per la finestra dei messaggi
se stesso.msgDomanda.setStandardButtons(QMessageBox.Sì | QMessageBox.No)
se stesso.msgDomanda.setDefaultButton(QMessageBox.No)
# Chiama il metodo personalizzato quando si fa clic sul pulsante
se stesso.msgDomanda.pulsanteCliccato.connettersi (auto).pulsante msg)
# Imposta il titolo della finestra
se stesso.msgDomanda.setWindowTitle ("Fare una domanda all'utente")
# Visualizza la finestra dei messaggi
se stesso.msgDomanda.mostrare()
# Definire la funzione per i pulsanti
def msgButton(self, i):
se io.text() == '&Sì' :
print("L'attività sta continuando... ")
altro:
print("Hai annullato l'attività.")
# Crea un oggetto app ed esegui l'app
app = QApplication(sys.argomento)
Win = Finestra Messaggio()
app.exec_()
La seguente finestra di messaggio apparirà dopo l'esecuzione dello script sopra.
Se l'utente fa clic su accedere senza selezionare alcun pulsante, quindi il tasto No il pulsante sarà attivato per impostazione predefinita e apparirà il seguente output:
Conclusione
In questo tutorial, sono stati creati tre diversi tipi di finestre 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.