Qt事件循环研究

一般来说,在执行QApplication.exec()之前,所有的交互都会被忽略,但是消息框QMessageBox是一个例外,因为它拥有自己的消息循环!

 

Generally speaking, no user interaction can take place before    calling exec(). As a special case, modal widgets like MessageBox
    can be used before calling exec(), because modal widgets    use their own local event loop.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QMessageBoxQt 提供的一个用于显示消息提示框的类。它可以用于显示一些简单的提示信息,例如警告、错误、询问等。 下面是一个简单的使用 QMessageBox 的示例: ```cpp #include <QApplication> #include <QMessageBox> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 显示一个简单的提示信息 QMessageBox::information(nullptr, "提示", "欢迎使用 Qt!"); return app.exec(); } ``` 这段代码在程序运行时弹出一个消息框,显示一个简单的提示信息。 QMessageBox 的常用方法包括: - `QMessageBox::information()`:显示一个信息框。 - `QMessageBox::warning()`:显示一个警告框。 - `QMessageBox::critical()`:显示一个严重错误框。 - `QMessageBox::question()`:显示一个询问框,用户可以选择“是”、“否”、“取消”等选项。 - `QMessageBox::about()`:显示一个关于框,用于显示程序的版本信息等。 除此之外,QMessageBox 还提供了一些静态方法用于获取用户的选择结果,例如 `QMessageBox::Yes`、`QMessageBox::No`、`QMessageBox::Cancel` 等。可以通过这些静态方法来获取用户的选择结果,例如: ```cpp QMessageBox::StandardButton result = QMessageBox::question(nullptr, "询问", "确定要退出吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (result == QMessageBox::Yes) { // 用户选择了“是” } else { // 用户选择了“否” } ``` 这段代码弹出一个询问框,让用户选择是否要退出程序。用户点击“是”或“否”按钮后,程序根据用户的选择来执行相应的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值