用python打开qt界面多次,右上角叉掉窗口,又会进入下一次循环,继续打开窗口
时间: 2024-05-11 07:14:15 浏览: 143
可以在Qt界面中的关闭事件中添加代码,当用户点击右上角的叉号关闭窗口时,触发关闭事件,然后在关闭事件中添加代码,让程序退出循环,停止打开新的窗口。
以下是示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 220)
self.setWindowTitle('My Window')
self.setWindowIcon(QIcon('icon.png'))
self.show()
def closeEvent(self, event):
sys.exit(0)
if __name__ == '__main__':
app = QApplication(sys.argv)
while True:
win = MyWindow()
app.exec_()
```
在上面的代码中,我们在MyWindow类中重写了closeEvent方法,当用户点击右上角的叉号关闭窗口时,就会触发这个方法,然后我们在这个方法中调用了sys.exit(0)方法,让程序退出循环并停止打开新的窗口。
阅读全文