Escriu per cercar…

Dialogs

Finestres que pregunten una cosa i esperen la resposta — avisos, confirmacions, tria de fitxers i el teu propi formulari.

S'ensenya a
Desenvolupament d’interfícies.Interfícies gràfiques d'usuariDAMProgramacióInterfícies gràfiquesDAW-BIO

Introducció

A Signals and Slots el programa ja reacciona: cliques i passa alguna cosa.

Passa de seguida, i sense preguntar.

Un botó que diu Delete Trufa esborra la Trufa en el moment que el toques, encara que l’hagis tocat sense voler.

Un diàleg és una finestra que s’obre a sobre, fa una pregunta i espera.

Mentre és oberta, la finestra de sota no es pot tocar: es diu que el diàleg és modal.

I quan es tanca, et deixa una resposta que el teu codi pot mirar.

Aquesta pàgina va d’aquestes dues coses: obrir la finestra i llegir-ne la resposta.

Entorn de treball

Crea un projecte amb uv, tal com es fa a Project:

shell
uv init pyside-dialog
cd pyside-dialog
uv add pyside6

Un avís

El diàleg més senzill diu una cosa i no pregunta res.

python
main.py
from PySide6.QtWidgets import (QApplication, QMessageBox, QPushButton,
                               QVBoxLayout, QWidget)

app = QApplication([])

window = QWidget()
window.setWindowTitle("Pets")
window.resize(420, 140)

button = QPushButton("Delete Trufa")


def delete():
    QMessageBox.warning(window, "Pets", "Trufa has an appointment tomorrow.")


button.clicked.connect(delete)

layout = QVBoxLayout(window)
layout.addWidget(button)

window.show()
app.exec()

QMessageBox.warning és una funció de classe: no has creat cap objecte.

Els tres arguments són el pare, el títol i el text.

El pare és la finestra de sota, i és el que fa que el diàleg surti al davant i la bloquegi.

Estàs llegint una vista prèvia.

Inicia la sessió amb Google per llegir la pàgina sencera.

Inicia la sessió amb Google

Només et demanarem que acceptis les condicions del servei.