PySide6 exec()函数详细教程

PySide6.QtWidgets.Application类的exec()函数使程序进入Qt主事件循环并等待直到调用exit()函数,然后返回调用exit()时设置的值,如果调用的是quit()函数,则是0;此处的exit()quit()函数是QApplication类的成员函数;

需要调用这个函数来启动事件处理;主事件循环从窗口系统接收事件并将这些事件分派给应用程序的小部件;

通常,在调用exec()之前不能进行用户交互;但可以在调用exec()之前使用像QMessageBox这样的模态小部件;

示例代码

import sys
from PySide6.QtWidgets import QApplication,QWidget,QPushButton,QVBoxLayout
from PySide6.QtCore import Slot

class MyWidget(QWidget):
    def __init__(self):
        super().__init__()

        self.button = QPushButton("退出")
        self.layout = QVBoxLayout(self)
        self.layout.addWidget(self.button)
        self.button.clicked.connect(self.exitFunc)

    @Slot()
    def exitFunc(self):
        app.exit(1) # app.exec()将返回 1
        #app.exit(2) #app.exec()将返回2

        #app.quit() #app.exec()将返回 0

app = QApplication([])
widget = MyWidget()
widget.resize(300, 200)
widget.show()

exitCode = app.exec()
print("退出码为:",exitCode)
sys.exit(exitCode)

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/pyside6-qtwidgets-qapplication-exec.html

分类: 计算机技术
推荐阅读:
为什么有大量阿里云IP访问网站? 为什么有大量阿里云IP访问网站?其原因可能有两个,一是网站被攻击,二是你使用了阿里云CDN、负载均衡等产品;
如何忽略pymysql警告信息 在python中使用pymysql库时,你可能会碰到由pymysql生成的警告信息;
Golang捕获Ctrl+C的系统信号并作出响应 通常,当操作系统要停止你的进程时,会向你的进程发送信号,如果你需要在进程结束前处理一些事务,那么你需要捕获这些信号;
使用python求解极限 要使用Python求解一个极限,可以使用Python中的SymPy库;
Python内置函数大全 该文档详细讲解了几乎所有的Python内置函数,并提供了相关示例;
查询Linux系统是哪个发行版 在Linux系统下,如果你想知道当前系统是哪一个发行版,你可以使用一条命令实现查询: