sys.exit(app.exec_())这个函数放在前面时后面的函数不能用
时间: 2024-02-17 09:04:48 浏览: 96
是的,`sys.exit(app.exec_())` 这个函数会阻塞程序,直到主窗口关闭或者 `QApplication` 退出,所以如果把它放在前面就不会执行后面的代码。如果你需要在主窗口关闭时执行一些操作,可以把这些操作放在主窗口的关闭事件处理函数中,例如:
```
class MyWindow(QWidget):
def closeEvent(self, event):
# 在这里执行需要在窗口关闭时执行的操作
event.accept()
```
如果你需要在主窗口显示的同时执行一些操作,可以在主窗口的 `__init__` 函数中启动一个线程来执行这些操作,例如:
```
class MyWindow(QWidget):
def __init__(self):
super().__init__()
# 创建一个线程来执行一些操作
self.thread = QThread()
self.worker = Worker()
self.worker.moveToThread(self.thread)
self.thread.started.connect(self.worker.run)
self.thread.start()
# 创建界面...
```
其中 `Worker` 是一个自定义的类,用来执行一些操作,例如:
```
class Worker(QObject):
def run(self):
while True:
# 在这里执行需要在主窗口显示的同时执行的操作
time.sleep(1)
```
阅读全文