阅读这篇的前提是已经默认了解了PyQt5的基础框架和PyQt5创建按钮和触发点击事件(超链接点击跳转)。我们进一步介绍如何点击按键实现退出当前创建好的GUI界面。这里介绍三种方法。
方法一,代码如下:
# -*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.resize(600, 300)
self.setWindowTitle('点击按键关闭当前GUI界面')
self.button1 = QPushButton('关闭', self)
self.button1.clicked.connect(self.clickButtonCloseWindow)
def clickButtonCloseWindow(self):
self.close()
if __name__ == '__main__':
app = QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
当我们点击案件的时候,直接执行self.close()
语句,因为此时的self
本身指代的就是我们当前创建的QMainWindow
窗口,所以直接调用close
方法即可。
方法二:当然我们也可以更加简化一些,直接去掉按键点击后执行的函数,直接将按键事件与关闭界面关联起来。代码如下:
# -*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.resize(600, 300)
self.setWindowTitle('点击按键关闭当前GUI界面')
self.button1 = QPushButton('关闭', self)
self.button1.clicked.connect(self.close)
if __name__ == '__main__':
app = QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
可以看到我们直接将按键点击事件与self.close
关联起来,注意:这里的self.close不能够加括号,否则报错。
方法三:点击按键是确定当前QApplication
对象的实例,并关闭,代码如下:
# -*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.resize(600, 300)
self.setWindowTitle('点击按键关闭当前GUI界面')
self.button1 = QPushButton('关闭', self)
self.button1.clicked.connect(self.clickButtonCloseWindow)
def clickButtonCloseWindow(self):
qApp = QApplication.instance()
qApp.quit()
if __name__ == '__main__':
app = QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
我们可以看到我们使用QApplication.instance()
来获取当前QApplication
实例化的对象,然后用quit()
方法退出当前的GUI
界面。
码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~