QDialogButtonBox使用示例
时间: 2024-06-14 16:09:29 浏览: 168
QDialogButtonBox是Qt中的一个小部件,用于显示对话框中的标准按钮。它提供了一种简单的方式来添加和管理这些按钮。下面是一个QDialogButtonBox的使用示例:
```cpp
#include <QApplication>
#include <QDialog>
#include <QDialogButtonBox>
#include <QVBoxLayout>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建一个对话框
QDialog dialog;
dialog.setWindowTitle("QDialogButtonBox Example");
// 创建一个垂直布局
QVBoxLayout layout(&dialog);
// 创建一个QDialogButtonBox
QDialogButtonBox buttonBox(Qt::Horizontal);
// 添加标准按钮到QDialogButtonBox
buttonBox.addButton("OK", QDialogButtonBox::AcceptRole);
buttonBox.addButton("Cancel", QDialogButtonBox::RejectRole);
buttonBox.addButton("Apply", QDialogButtonBox::ApplyRole);
buttonBox.addButton("Reset", QDialogButtonBox::ResetRole);
// 将QDialogButtonBox添加到布局中
layout.addWidget(&buttonBox);
// 连接按钮的信号和槽函数
QObject::connect(&buttonBox, &QDialogButtonBox::accepted, &dialog, &QDialog::accept);
QObject::connect(&buttonBox, &QDialogButtonBox::rejected, &dialog, &QDialog::reject);
// 显示对话框
dialog.show();
return app.exec();
}
```
在这个示例中,我们创建了一个对话框,并在对话框中添加了一个QDialogButtonBox。然后,我们使用addButton()函数向QDialogButtonBox添加了几个标准按钮,分别是"OK"、"Cancel"、"Apply"和"Reset"。我们还使用了信号和槽机制,将按钮的accepted和rejected信号连接到对话框的accept()和reject()槽函数上。
这样,当用户点击对应的按钮时,对话框会根据按钮的角色执行相应的操作。
阅读全文