qt 居中显示QMessageBox
时间: 2023-07-22 11:31:57 浏览: 94
要将 QMessageBox 居中显示在屏幕上,可以使用如下代码:
```python
msgBox = QMessageBox()
msgBox.setText("Hello World!")
msgBox.setStandardButtons(QMessageBox.Ok)
msgBox.setWindowTitle("Title")
msgBox.setGeometry(0, 0, 300, 200)
msgBox.move(int((QApplication.desktop().width() - msgBox.width()) / 2),
int((QApplication.desktop().height() - msgBox.height()) / 2))
msgBox.exec_()
```
其中,`setGeometry()` 方法可以设置 QMessageBox 的大小,`move()` 方法可以将 QMessageBox 移动到屏幕中央。
相关问题
qt 屏幕居中显示QMessageBox
要使Qt中的QMessageBox居中显示在屏幕上,可以使用以下代码:
```python
msgBox = QMessageBox()
msgBox.setText("Your message here")
msgBox.setWindowTitle("Title here")
msgBox.setStandardButtons(QMessageBox.Ok)
msgBox.buttonClicked.connect(msgButtonClick)
# 居中显示
msgBox.setGeometry(QStyle.alignedRect(Qt.LeftToRight, Qt.AlignCenter, msgBox.size(), qApp.desktop().availableGeometry()))
msgBox.exec_()
```
其中,`QStyle.alignedRect()`函数可以将消息框的大小和位置设置为屏幕的中心。`Qt.LeftToRight`指定从左到右的文本方向,`Qt.AlignCenter`指定居中对齐。
注意,`msgButtonClick`是一个自定义的函数,用于处理用户点击消息框按钮的事件。如果不需要处理按钮的事件,可以省略`msgBox.buttonClicked.connect(msgButtonClick)`这一行。
qt C++ qmessagebox怎么居中
要使QMessageBox居中显示,可以使用以下代码:
```cpp
QMessageBox msgBox;
msgBox.setText("Hello World!");
msgBox.setWindowTitle("My App");
msgBox.setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
msgBox.setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, msgBox.size(), qApp->desktop()->availableGeometry()));
msgBox.exec();
```
这里使用了setWindowFlags()函数来设置窗口标志,包括Qt::Window以及Qt::FramelessWindowHint,以便在显示时隐藏标题栏。然后使用setGeometry()函数设置消息框的几何形状,使用QStyle::alignedRect()函数来计算它相对于屏幕中心的位置。
阅读全文