Pitone

Come usare PyQt QMessageBox

Come usare PyQt QMessageBox
La finestra di messaggio viene utilizzata nell'applicazione GUI per fornire le informazioni necessarie all'utente o per chiedere all'utente di eseguire azioni in base al messaggio. È possibile creare quattro tipi di finestre di messaggio per qualsiasi applicazione GUI, inclusa la finestra di messaggio informativo, la finestra di messaggio di avviso, la finestra di messaggio critico e la finestra di messaggio di domanda. Il QMessageBox la classe di PyQt viene utilizzata in Python per creare una finestra di messaggio. Questo tutorial mostra come utilizzare la classe QMessageBox per creare varie finestre di messaggio.

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 necessari
sistema 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 necessari
sistema 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 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 necessari
sistema 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.

Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...
Emula i clic del mouse passando il mouse utilizzando il mouse senza clic in Windows 10
L'uso di un mouse o di una tastiera nella postura sbagliata di un uso eccessivo può causare molti problemi di salute, tra cui tensione, sindrome del t...
Aggiungi i gesti del mouse a Windows 10 utilizzando questi strumenti gratuiti
Negli ultimi anni computer e sistemi operativi si sono notevolmente evoluti greatly. C'è stato un tempo in cui gli utenti dovevano usare i comandi per...