900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > pyqt按钮关闭窗口_PyQt5按钮单击事件 退出程序

pyqt按钮关闭窗口_PyQt5按钮单击事件 退出程序

时间:2018-08-16 11:47:52

相关推荐

pyqt按钮关闭窗口_PyQt5按钮单击事件 退出程序

1.注意项:

当使用QPushButton.clicked.connect(lambda:self.信号槽方法)。connect方法传参数时,需要加上“lambda:”

2.步骤:

添加一个按钮 self.button1 = QPushButton('按钮上的文本')。

创建水平布局对象QHBoxLayout,并使用setWidget方法,将button1添加进去。

layout = QHBoxLayout()

layout.addWidget(self.button1)

主框架Widget,所有组件的根。将所有组件添加到主框架中。

mainFrame = QWidget()

mainFrame.setLayout(layout)

将主框架放在主窗口

self.setCentralWidget(mainFrame)

自定义槽:用来处理button的点击事件。onClick_Button()

sender = self.sender() \获取哪一个组件是发送者

将按钮的信号与槽关联在一起

self.button1.clicked.connect(lambda: self.onClick_Button())

import sys

from PyQt5.QtWidgets import QHBoxLayout, QMainWindow, QApplication, QPushButton, QWidget

class QuitApplication(QMainWindow):

def __init__(self):

super(QuitApplication, self).__init__()

self.resize(300, 400)

self.setWindowTitle('退出应用程序')

# 添加button

self.button1 = QPushButton('退出应用程序')

self.button1.clicked.connect(lambda: self.onClick_Button())

# 创建水平布局对象

layout = QHBoxLayout()

# 将组件添加到水平布局上

layout.addWidget(self.button1)

# 将所有部件都放在mainFrame上

mainFrame = QWidget()

# 将layout的内容放在mainFrame上

mainFrame.setLayout(layout)

# 将mainFrame放在主窗口上

self.setCentralWidget(mainFrame)

# 按钮单击事件(自定义的槽)

def onClick_Button(self):

# 通过sender(发件人)方法来获取哪一个组件是发送者

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_())

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。