PyQt5学习之按钮单击事件信号与槽关联
用到的方法代码中都有标注,直接上代码
代码:
import sndhdr
import sys
from PyQt5.QtWidgets import QHBoxLayout,QApplication,QMainWindow,QWidget,QPushButton
class QuitApplication(QMainWindow):
def __init__(self):
super(QuitApplication, self).__init__()
self.resize(800,500)
self.setWindowTitle('如何退出应用程序')
#添加Button
self.button1=QPushButton('退出')
#信号与槽关联
self.button1.clicked.connect(lambda:self.onClick_Button())
#创建水平布局对象
layout=QHBoxLayout()
#将组件加入水平布局
layout.addWidget(self.button1)
#主框架
mainFrame=QWidget()
#水平布局中的内容加入主框架
mainFrame.setLayout(layout)
#主框架加入窗口
self.setCentralWidget(mainFrame)
#按钮单击事件的方法(自定义的槽)
def onClick_Button(self):
#通过sender获取对象button1
sender=self.sender()
#sender.text()是button1的文本
print(sender.text()+'按钮被按下')
#实例对象
app=QApplication.instance()
#退出
app.quit()
if __name__=='__main__':
app=QApplication(sys.argv)
main=QuitApplication()
main.show()
sys.exit(app.exec_())