QT QMessageBox 按钮居中?
时间: 2024-08-13 10:02:21 浏览: 90
在Qt中,`QMessageBox`是一个用于显示信息、警告或错误消息的标准对话框。如果你想让其按钮在显示时居中对齐,你可以通过设置默认的布局样式或者在创建对话框时指定特定的样式。以下是两种常见的方法:
1. **使用默认样式**:
如果你使用的是Qt5或更新版本,QMessageBox默认会将按钮水平居中。只需创建对话框并添加消息文本即可:
```cpp
QMessageBox msg;
msg.setText("这是一个信息");
msg.exec();
```
2. **自定义样式**:
如果你想进一步定制,可以创建一个自定义的`QDialogButtonBox`并在`QMessageBox`中使用它,然后使用`setGeometry`方法来调整按钮的位置使其居中。例如:
```cpp
QMessageBox::StandardButtons buttons = QMessageBox::Yes | QMessageBox::No;
QDialogButtonBox* buttonBox = new QDialogButtonBox(buttons);
buttonBox->exec();
// 确保窗口大小合适并且按钮居中
int buttonWidth = buttonBox->width();
int buttonHeight = buttonBox->height();
int x = (parentWidget()->width() - buttonWidth) / 2;
int y = (parentWidget()->height() - buttonHeight) / 2;
buttonBox->move(x, y);
```
在这里,`parentWidget()`通常是你希望对话框放置在其上的窗口。
阅读全文