除了标准的信息对话框,QMessageBox 还提供了其他几种常用的消息对话框类型,包括警告对话框、错误对话框和询问对话框。它们的使用方法与信息对话框类似,主要区别在于显示的图标和默认的交互逻辑。
这三种基本对话框的创建代码如下:
QMessageBox::warning(this, "警告", "请注意!");
QMessageBox::critical(this, "错误", "发生错误!");
QMessageBox::question(this, "确认", "确定要退出吗?");
不同类型对话框示例
在实际开发中,你只需要将 information 方法替换为对应的类型方法即可。例如,创建一个警告对话框:
这是警告对话框的显示效果,其图标通常为黄色感叹号。

创建一个错误对话框:
错误对话框的图标为红色的错误标识,在部分系统上触发时还可能伴随有提示音。

创建一个询问对话框:
询问对话框通常用于需要用户确认的操作,例如退出或删除。

处理对话框的返回值
与信息对话框不同,询问对话框(question)通常包含“Yes”和“No”等多个按钮,因此获取用户的点击选择至关重要。QMessageBox 的静态方法会返回一个标准按钮枚举值,我们可以保存这个返回值来进行逻辑判断。
以下代码演示了如何捕获并输出用户的选择:
auto res = QMessageBox::question(this, "信息", "按钮被点击了!");
qDebug() << res;
这里使用了 qDebug() 进行输出,这是一种在Qt中进行控制台输出的便捷方式,特别适用于调试。为了查看输出结果,我们需要以调试模式运行程序。
在 Visual Studio 中,确保选择“本地 Windows 调试器”并启动调试。

程序运行后,点击对话框上的按钮,你将在 IDE 的“输出”窗口中看到对应的枚举值输出。例如,点击“Yes”按钮可能会输出 QFlags<QMessageBox::StandardButton>(Yes)。

同时,调试器也会输出相关的线程退出信息。

提示:如果“输出”窗口没有自动显示,你可以在 Visual Studio 的菜单栏中依次点击 视图 -> 输出,或使用快捷键 Ctrl+Alt+O 来打开它。掌握基础的软件测试与调试技巧,对于使用C++等语言进行GUI开发至关重要。
|