QMessageBox有哪些其他的类型?
时间: 2024-09-09 15:03:05 浏览: 17
QMessageBox类在Qt框架中用于显示消息框,它提供了一些标准的对话框类型,以便给用户提供信息、询问选择或者警告。除了`QMessageBox::Question`、`QMessageBox::Information`、`QMessageBox::Warning` 和 `QMessageBox::Critical` 这些常见类型之外,还有`QMessageBox::Ok`、`QMessageBox::Save`、`QMessageBox::Cancel`、`QMessageBox::Yes`、`QMessageBox::No`等类型,它们用于特定的按钮和消息类型。
以下是一些QMessageBox的类型和它们通常的用途:
- `QMessageBox::Ok`: 通常包含一个OK按钮,用于确认信息。
- `QMessageBox::Save`: 包含一个Save按钮,常用于询问用户是否保存对文件的更改。
- `QMessageBox::Cancel`: 包含一个Cancel按钮,用于取消操作。
- `QMessageBox::Yes`: 包含一个Yes按钮,通常用在是/否决策。
- `QMessageBox::No`: 包含一个No按钮,用于对是/否决策进行否定。
- `QMessageBox::Open`: 提供一个Open按钮,用于打开文件或资源。
`QMessageBox` 还允许通过`QMessageBox::Icon`枚举自定义图标,这包括`QMessageBox::NoIcon`、`QMessageBox::Question`、`QMessageBox::Information`、`QMessageBox::Warning` 和 `QMessageBox::Critical`。
你可以使用如下代码创建一个自定义的QMessageBox:
```cpp
QMessageBox msgBox;
msgBox.setText("This is a message");
msgBox.setInformativeText("This text informs the user of the situation");
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Cancel);
int ret = msgBox.exec();
```
在这个例子中,我们创建了一个消息框,并设置了文本和辅助文本,添加了标准按钮,并指定了默认按钮。然后通过`exec()`方法显示消息框并等待用户响应。