在Qt中,你可以使用QMessageBox
来弹出确认对话框,并处理用户点击“是”或“否”的操作。以下是一个示例代码,展示了如何实现这一功能:
#include <QApplication>
#include <QPushButton>
#include <QMessageBox>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QPushButton button("Show Confirm Dialog");
QObject::connect(&button, &QPushButton::clicked, [&]() {
// 创建确认对话框
QMessageBox::StandardButton reply;
reply = QMessageBox::question(nullptr, "Confirm", "Are you sure?",
QMessageBox::Yes | QMessageBox::No);
// 处理用户的选择
if (reply == QMessageBox::Yes) {
// 用户点击了“是”
qDebug("User clicked Yes.");
} else {
// 用户点击了“否”
qDebug("User clicked No.");
}
});
button.resize(200, 100);
button.show();
return app.exec();
}
代码解析:
- 创建按钮:我们创建一个按钮,当用户点击时会弹出确认对话框。
- 连接信号和槽:使用
QObject::connect()
将按钮的点击事件与一个lambda函数连接。 - 弹出对话框:在lambda函数中,使用
QMessageBox::question()
方法弹出一个包含“Yes”和“No”按钮的对话框。 - 处理结果:根据用户的选择,输出不同的调试信息。
你可以运行这个代码,当你点击按钮时,会显示确认对话框,根据你的选择,可以执行相应的操作。
内容由零声教学AI助手提供,问题来源于学员提问