Home > Article > Backend Development > PyQt5 must learn to close the window every day
This article mainly introduces in detail the closing windows that you must learn every day in PyQt5. It has certain reference value. Interested friends can refer to it
The simplest way to close a window is Click the x mark on the title bar. However, in the following example, we will show how to control the closing of the window programmatically. We will use PyQt5’s signals/slots.
The following is the construction method of the QPushButton control we used in the example.
QPushButton(string text, QWidget parent = None)
The text parameter is the text to display on the button. parent Where to place the button control. In the following example we will put the button control into a QWidget. An application's window controls can form a hierarchical structure. At this level, most controls have their parent controls, and controls without a parent control are top-level windows.
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 这个程序创建一个退出按钮。当我们按下按钮,应用程序将终止。 作者:我的世界你曾经来过 博客:http://blog.csdn.net/weiaitaowang 最后编辑:2016年7月29日 """ import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton from PyQt5.QtCore import QCoreApplication class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): btn = QPushButton('退出', self) btn.clicked.connect(QCoreApplication.instance().quit) btn.resize(btn.sizeHint()) btn.move(50, 50) self.setGeometry(300, 300, 300, 220) self.setWindowTitle('退出按钮') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
In this example, we create an exit button. When the button is clicked, the application terminates.
from PyQt5.QtCore import QCoreApplication
We need to use the QCoreApplication object in the QtCore module
btn = QPushButton('退出', self)
We created A button, which is an instance of the QPushButton class. The first parameter of the constructor is the button's label. The second parameter is the parent window control. The parent window control is the Example control, which is a class inherited from QWidget.
btn.clicked.connect(QCoreApplication.instance().quit)
The event handling system is built on the signal/slot mechanism of PyQt5. If we click the button, the button will emit a signal, and the click signal is connected to the quit() method to terminate the application.
The slot can be a Qt slot or any Python call. QCoreApplication contains the main event loop; it handles and dispatches all events. The instance() method gives us its current instance. Note, distinguish QCoreApplication from QApplication.
Sender and receiver: carried out between two objects of communication. The sender is the button and the receiver is the application object.
The concept is a bit confusing, let’s sort it out here:
The button (btn) is the transmitter. After the button is clicked, a click signal is sent. Click the signal to connect to the slot (can be a Qt slot or any Python call).
In our example it is Qt's slot. QCoreApplication handles and dispatches all Qt events and dispatches the quit event of instance (this instance (receiver)).
That’s probably what it means, take your time and understand it!
After the program is executed, click the exit button to close the program.
Related recommendations:
PyQt5 must learn the pop-up message box every day
PyQt5 realizes the download progress bar effect
PyQt5 must learn the progress bar effect every day
##
The above is the detailed content of PyQt5 must learn to close the window every day. For more information, please follow other related articles on the PHP Chinese website!