msgBox = QMessageBox() 后不要退出程序
时间: 2023-07-27 18:18:49 浏览: 71
好的,你可以在 msgBox.exec_() 后加上 app.exec_(),这样程序会一直运行,直到用户关闭消息框。具体代码如下:
```python
msgBox = QMessageBox()
msgBox.setText("这是一条消息!")
msgBox.exec_()
app.exec_()
```
这样就可以保证程序不会在消息框弹出后立即退出。
相关问题
msgBox = QMessageBox() 弹窗点确定后 就卡死了
如果你的代码是这样的:
```python
msgBox = QMessageBox()
msgBox.setText("这是一条消息!")
msgBox.exec_()
```
那么问题可能出在 `msgBox.exec_()` 这句代码上。因为这个函数是一个模态对话框,会阻塞当前线程,直到用户关闭了对话框为止。如果用户一直不关闭对话框,那么程序就会一直卡在这里。
解决办法是在 `exec_()` 函数前创建一个新的线程,并在这个线程中运行 `exec_()` 函数。这样即使对话框没有关闭,主线程也不会被阻塞,程序也不会死掉。
具体的代码实现如下:
```python
import threading
from PyQt5.QtWidgets import QApplication, QMessageBox
def showMessageBox():
msgBox = QMessageBox()
msgBox.setText("这是一条消息!")
msgBox.exec_()
app = QApplication([])
thread = threading.Thread(target=showMessageBox)
thread.start()
app.exec_()
```
这里我们使用了 Python 内置的线程库 `threading`,在新线程中执行 `showMessageBox()` 函数,而主线程则继续运行 `app.exec_()`。这样即使对话框没有关闭,主线程也不会被阻塞。
QMessageBox msgBox; 设置标题
QMessageBox是Qt框架中的一个类,用于显示消息框和对话框。它提供了一种简单的方式来显示各种类型的消息和用户交互。
要设置QMessageBox的标题,可以使用setTitle()函数。下面是一个示例代码:
```
QMessageBox msgBox;
msgBox.setWindowTitle("提示"); // 设置标题为"提示"
```
这样就可以将QMessageBox的标题设置为"提示"。你也可以根据需要设置其他标题。