Qt中QDialog的继承关系如图所示。QDialog继承自QWidget框架,在自定义对话框时,继承QDialog,进而可以使用QWidget的方法。
目前使用过的QDialog派生的子类为QMessageBox、QErrorMessage,为弹框提示使用的类,对于调试代码逻辑反馈作用较大,举例如下:
代码例子一
QMessageBox box;
box.setWindowTitle(tr("警告"));
box.setIcon(QMessageBox::Warning);
box.setText(tr("出现错误,是否退出?"));
box.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
box.setDetailedText(tr("请查看安装介质有无损坏。"));
if(QMessgBox::Yes == box.exec())
{}
else
{}
代码例子二
QErrorMessage box(this);
box.setWindowTitle(tr("测试!"));
box.exec();