1、概述
QMessageBox是Qt库中的一个类,它用于在图形用户界面(GUI)步调中表现消息框。消息框是一种用于向用户表现信息、告诫、错误或扣问用户确认的对话框。QMessageBox可以表现文本、图标和按钮,并答应自界说按钮的文本和功能。通过使用QMessageBox,开发者可以方便地创建用户友好的界面,向用户转达须要的信息或哀求用户做出决议。
QMessageBox类继续自QDialog类,它提供了多种范例的消息框,包罗信息框、告诫框、错误框、扣问框等。这些消息框可以通过差别的图标和按钮组合来区分,以顺应用户的差别需求。
2、告急方法
QMessageBox类提供了多个静态方法和构造函数来创建和表现消息框。以下是一些告急的方法:
- QMessageBox::information:用于创建一个信息对话框,通常用于向用户表现一些告急的信息或关照。
- QMessageBox::warning:用于创建一个告诫对话框,通常用于向用户表现一些告诫或非严厉的题目,以便用户接纳得当的举措或留意。
- QMessageBox::critical:用于创建一个临界错误对话框,通常用于向用户表现告急的错误信息并要求用户接纳得当的举措。
- QMessageBox::question:用于创建一个扣问对话框,通常用于扣问用户是否确认某个使用,如删除文件或退出应用步调。
- QMessageBox::about:用于创建一个关于对话框,通常用于表现关于应用步调或某个功能的信息。
别的,QMessageBox还提供了构造函数和exec()方法,答应开发者创建自界说的消息框并表现它们。通过构造函数,可以指定对话框的父窗口、标题、文本、图标、按钮等属性。通过exec()方法,可以以模态方式表现对话框,壅闭步调的实行,直到用户关闭对话框。
3、告急按钮范例
以下是QMessageBox类中一些常见的按钮范例及其扼要先容:
- QMessageBox::Ok:确定按钮。
- QMessageBox::Cancel:取消按钮。
- QMessageBox::Yes:是按钮。
- QMessageBox::No:否按钮。
- QMessageBox::Retry:重试按钮。
- QMessageBox::Ignore:忽略按钮。
4、告急图标范例
以下是QMessageBox类中一些常见的图标范例及其扼要先容:
- QMessageBox::NoIcon:无图标。
- QMessageBox::Information:信息图标。
- QMessageBox::Warning:告诫图标。
- QMessageBox::Critical:错误图标。
- QMessageBox:
uestion:扣问标。
- #include <QApplication>
- #include <QMessageBox>
- #include <QPushButton>
- #include <QWidget>
-
- int main(int argc, char *argv[])
- {
- QApplication app(argc, argv);
-
- QWidget window;
- window.setWindowTitle("QMessageBox Example");
-
- QPushButton *infoButton = new QPushButton("Show Information", &window);
- infoButton->setGeometry(50, 50, 150, 30);
-
- QPushButton *criticalButton = new QPushButton("Show Critical Error", &window);
- criticalButton->setGeometry(50, 100, 150, 30);
-
- QObject::connect(infoButton, &QPushButton::clicked, [&]() {
- QMessageBox::StandardButton button = QMessageBox::information(
- &window,
- "Information",
- "This is an information message.",
- QMessageBox::Ok | QMessageBox::Cancel,
- QMessageBox::NoButton
- );
- if (button == QMessageBox::Ok) {
- // User clicked Ok
- } else if (button == QMessageBox::Cancel) {
- // User clicked Cancel
- }
- });
-
- QObject::connect(criticalButton, &QPushButton::clicked, [&]() {
- QMessageBox::StandardButton button = QMessageBox::critical(
- &window,
- "Critical Error",
- "An error has occurred. Please try again.",
- QMessageBox::Retry | QMessageBox::Abort,
- QMessageBox::NoButton
- );
- if (button == QMessageBox::Retry) {
- // User clicked Retry
- } else if (button == QMessageBox::Abort) {
- // User clicked Abort
- }
- });
-
- window.resize(300, 200);
- window.show();
-
- return app.exec();
- }
复制代码
以为有资助的话,打赏一下呗。。
 
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |