【PyQt5】{11} —— 一个信号与多个槽函数连接

一个信号与多个槽函数连接

# -*- coding: utf-8 -*-
"""
Created on Sat May  9 11:50:03 2020

@author: Giyn
"""

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QVBoxLayout


class Simple_Window(QWidget):
    def __init__(self):
        super(Simple_Window, self).__init__() # 使用super函数可以实现子类使用父类的方法
        self.label = QLabel("I am the original Label", self) # self是指定的父类Simple_Window,表示QLabel属于Simple_Window窗口
        self.button = QPushButton("Button", self)
        
        # 一个信号连接多个槽函数
        self.button.clicked.connect(self.change_label)
        self.button.clicked.connect(self.change_size)
        
        self.v_layout = QVBoxLayout() # 实例化一个QVBoxLayout对象
        self.v_layout.addWidget(self.label)
        self.v_layout.addWidget(self.button)
        
        self.setLayout(self.v_layout) # 调用窗口的setLayout方法将总布局设置为窗口的整体布局
        
    def change_label(self):
        self.label.setText("I am the changed Label")
        
    def change_size(self):
        self.resize(412, 412)
        
        
if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Simple_Window()
    window.show()
    sys.exit(app.exec())

Output:

When not clicked:

【PyQt5】{11} —— 一个信号与多个槽函数连接_第1张图片

When clicked:
【PyQt5】{11} —— 一个信号与多个槽函数连接_第2张图片

Reference:https://study.163.com/course/courseLearn.htm?courseId=1208995818

你可能感兴趣的:(【PyQt5】,qt,pyqt,gui)