PyQt5学习——代码实现控件布局和信号与槽的关联

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QHBoxLayout, QPushButton,QWidget
from PyQt5.QtGui import QIcon

# 从QMainWindow继承的类
class MainWindow(QMainWindow):
    # 初始化
    # parent=None 保证了MainWindow为主窗口
    def __init__(self, parent=None):
        # 调用父类
        super(MainWindow,self).__init__(parent)

        # 设置主窗口的标题
        self.setWindowTitle('Window')
        # 设置窗口的尺寸
        self.resize(400,300)

        # 添加QPushButton类控件
        self.button = QPushButton('exit application')
        # 将信号与槽关联
        # 将对self.button控件的clicked鼠标单击事件和self.onClick_Button函数关联起来
        # 也就是说,当鼠标点击按钮时,触发执行self.onClick_Button函数体的内容
        self.button.clicked.connect(self.onClick_Button_quit)

        # 创建水平布局
        self.layout = QHBoxLayout()
        # 将self.button控件放入水平布局中
        self.layout.addWidget(self.button)

        # QWidget类是所有的用户接口对象的基类
        # 复合型的widget也可以是标准widget的一个子类,例如QWidget或者QFrame
        # 然后在这个子类中添加必要的layout(布局)和子widget
        self.mainFrame = QWidget()
        # 将layout布局放入mainFrame中
        self.mainFrame.setLayout(self.layout)

        # 使mainFrame充满整个窗口
        self.setCentralWidget(self.mainFrame)


    def onClick_Button_quit(self):
        # sender()的方法:
        # objectName(),获取objectName
        # text(),获取text
        sender = self.sender()
        print(' The \'' + sender.text() + '\' key is pressed')

        # 获取app单例对象
        # 这里是,获取当前对象
        app = QApplication.instance()

        # 退出程序
        app.quit()

if __name__ == '__main__':
    app = QApplication(sys.argv)

    # 设置应用程序图标
    # './img/icon.ico'为.ico图片的路径
    app.setWindowIcon(QIcon('./img/icon.ico'))

    win = MainWindow()
    win.show()
    sys.exit(app.exec_())

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值