import sys
from PyQt5.QtWidgets import QApplication,QWidget,QMainWindow,QHBoxLayout,QPushButton
class QuitApplication(QMainWindow):
def __init__(self):
super(QuitApplication,self).__init__()
self.resize(400,300)
self.setWindowTitle("退出应用程序")
# 添加Button
self.Button1 = QPushButton('退出')
# 将按钮和单击按钮事件的方法关联(信号与槽关联)
self.Button1.clicked.connect(self.onClickButton)
# 将按钮进行水平布局
layout = QHBoxLayout()
layout.addWidget(self.Button1)
# 创建窗口
mainFram = QWidget()
# 将布局好的按钮放到窗口中
mainFram.setLayout(layout)
# 没有这个按钮不会出现
self.setCentralWidget(mainFram)
# 单击按钮事件的方法(自定义的槽)
def onClickButton(self):
sender = self.sender()
print(sender.text() + '按钮被按下')
app = QApplication.instance()
# 退出应用程序
app.quit()
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QuitApplication()
main.show()
sys.exit(app.exec_())import sys
from PyQt5.QtWidgets import QApplication,QWidget,QMainWindow,QHBoxLayout,QPushButton
class QuitApplication(QMainWindow):
def __init__(self):
super(QuitApplication,self).__init__()
self.resize(400,300)
self.setWindowTitle("退出应用程序")
# 添加Button
self.Button1 = QPushButton('退出')
# 将按钮和单击按钮事件的方法关联(信号与槽关联)
self.Button1.clicked.connect(self.onClickButton)
# 将按钮进行水平布局
layout = QHBoxLayout()
layout.addWidget(self.Button1)
# 创建窗口
mainFram = QWidget()
# 将布局好的按钮放到窗口中
mainFram.setLayout(layout)
# 没有这个按钮不会出现
self.setCentralWidget(mainFram)
# 单击按钮事件的方法(自定义的槽)
def onClickButton(self):
sender = self.sender()
print(sender.text() + '按钮被按下')
app = QApplication.instance()
# 退出应用程序
app.quit()
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QuitApplication()
main.show()
# 循环,防止一闪而过,退出
sys.exit(app.exec_())
这里最重要的是通过connect将信号与槽关联
self.Button1.clicked.connect(self.onClickButton)
还有就是怎么将按钮放在窗口并在屏幕上显示
# 将按钮进行水平布局
layout = QHBoxLayout()
layout.addWidget(self.Button1)
# 创建窗口
mainFram = QWidget()
# 将布局好的按钮放到窗口中
mainFram.setLayout(layout)
# 没有这个按钮不会出现
self.setCentralWidget(mainFram)
运行结果: