pyside2如果设置主窗口关闭程序不停止
时间: 2023-08-23 16:06:04 浏览: 157
在 PySide2 中,如果你设置主窗口关闭时不退出程序,可以通过 `QApplication` 类的 `quitOnLastWindowClosed` 属性来实现。默认情况下,`quitOnLastWindowClosed` 属性为 `True`,即当所有窗口都关闭时,应用程序将自动退出。如果你将 `quitOnLastWindowClosed` 设置为 `False`,则即使主窗口关闭,应用程序也不会退出。
以下是一个简单的示例,演示如何在 PySide2 中创建一个主窗口并设置 `quitOnLastWindowClosed` 为 `False`。
```python
import sys
from PySide2.QtWidgets import QApplication, QMainWindow, QLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
label = QLabel('Hello, World!', self)
label.setGeometry(50, 50, 200, 50)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('PySide2 Example')
if __name__ == '__main__':
app = QApplication(sys.argv)
# 设置 quitOnLastWindowClosed 为 False
app.setQuitOnLastWindowClosed(False)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在上面的代码中,我们在创建 `QApplication` 实例后,将 `quitOnLastWindowClosed` 设置为 `False`。然后创建并显示主窗口,并使用 `sys.exit()` 函数来等待应用程序退出。这样即使关闭了主窗口,应用程序也不会立即退出,直到使用 `sys.exit()` 函数退出为止。
阅读全文