delete dialog;ΠΠΎΠ³Π΄Π° ΠΌΠ΅ΡΠΎΠ΄
execΠ£ΡΡΠΈΡΠ΅, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ
execΠΠ΅ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π° ΡΠ»Π΅Π³ΠΊΠ° ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΎΠΊΠΎΠ½ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΡΡΠ²Π°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ·Π²Π°Π½ ΡΠ»ΠΎΡ
acceptrejectΠΠ»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π²ΡΠ·ΡΠ²Π°ΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄
showQMainWindowMyDialog *dialog = new MyDialog(this, "mydialog");dialog->show();Π€ΡΠ½ΠΊΡΠΈΡ
showMyDialog::MyDialog(QWidget *parent, const char *name) :Β QDialog(parent, name) {Β ...Β connect(ok_pushbutton, SIGNAL(clicked()), this, SLOT(OkClicked()));Β connect(cancel_pushbutton, SIGNAL(clicked()), this, SLOT(CancelClicked()));}MyDialog::OkClicked() {Β // ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ}MyDialog::CancelClicked() {Β // ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΎΠ΅}ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°Π΄Π°ΡΡ ΡΠ»Π°Π³ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅
QDialogshow<b>QDialog(QWidget *parent=0, const char *name=0, bool modal=FALSE, WFlags f=0);</b>
ΠΡ Π½Π΅ Π·Π°Π΄Π°Π΅ΡΠ΅ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΡΠ»Π°Π³ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π²Π½ΡΠΌ
TRUEexecΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
MySMDialog::MySMDialog(QWidget *parent, const char *name): Β QDialog(parent, name, TRUE) {Β ...}ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π²Π°ΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ
showQApplication::processEventsMySMDialog *dialog = MySMDialog(this, "semimodal");dialog->show();while (processing) {Β doSomeProcessing();Β app->processEvents();Β if (dialog->wasCancelled()) break;}ΠΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π΅ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΎ Π»ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ
wasCancelledQDialogΠΠΎΠΌΠΏΠ»Π΅ΠΊΡ Qt ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ ΠΊΠ»Π°ΡΡΠ°
QDialogQMessageBox
QMessageBoxΠ£ ΠΊΠ»Π°ΡΡΠ°
QMessageBox<b>#include <qmessagebox.h></b><b>int information(QWidget *parent, const QString& caption,</b><b>Β const QString&text, int button0, int button1=0, int button2=0);</b><b>int warning(QWidget *parent, const QString& caption,</b><b>Β const QString& text, int button0, int button1, int button2=0);</b><b>int critical(QWidget *parent, const QString& caption,</b><b>Β const QString& text, int button0, int button1, int button2=0);</b>ΠΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π³ΠΎΡΠΎΠ²ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ
QMessageBoxβ‘
QMessageBox::Okβ‘
QMessageBox::Cancelβ‘
QMessageBox::Yesβ‘
QMessageBox::Noβ‘
QMessageBox::Abortβ‘
QMessageBox::Retryβ‘
QMessageBox::IgnoreΠ’ΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΊΠ½Π°
QMessageBoxint result = QMessageBox::information(this,Β "Engine Room Query",Β "Do you wish to engage the HyperDrive?",Β QMessageBox::Yes | QMessageBox::Default,Β QMessageBox::No | QMessageBox::Escape);switch (result) {case QMessageBox::Yes:Β hyperdrive->engage();