pyqt5弹出一个非阻塞的提示框?
时间: 2024-12-15 21:21:00 浏览: 8
在PyQt5中,你可以使用`QMessageBox`模块来创建非阻塞的提示框。其中,`QMessageBox.warning()`函数通常用于显示警告消息,如果你想让它是非阻塞的,可以忽略其默认的行为并设置对话框的一些特性使其透明或不可见。以下是一个简单的例子:
```python
from PyQt5.QtWidgets import QMessageBox
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import Qt
def non_blocking_message_box(title="提示", text="这是一条提示信息"):
msg_box = QMessageBox()
msg_box.setWindowTitle(title)
msg_box.setText(text)
msg_box.setIcon(QMessageBox.Warning)
msg_box.setStandardButtons(QMessageBox.NoButton) # 设置没有标准按钮
msg_box.setWindowModality(Qt.ApplicationModal) # 非阻塞模式
msg_box.setAttribute(Qt.WA_TranslucentBackground) # 透明背景
msg_box.move(QApplication.desktop().screen().rect().center() - msg_box.rect().center()) # 居中显示
msg_box.show()
# 使用方法
non_blocking_message_box()
```
这个函数会立即弹出一个警告提示对话框,但不会阻止程序继续执行。注意,`setWindowModality(Qt.ApplicationModal)`将对话框设为非模态,意味着主窗口仍然可以接受输入。
阅读全文