PyQt5教程(十三)——实现QQ登录界面(七、信号与槽)

14 篇文章 62 订阅

            PyQt5教程(十三)——实现QQ登录界面(七、信号与槽)

一、信号与槽的介绍:

信号与槽是Qt特有的的消息传输机制,在Qt中信号与槽用得十分广泛。在编程的过程中,我们都会遇到消息传递的事情,本质上就是谁发出命令(信号、消息),谁执行命令(相应的执行)

比如单击窗口上一个按钮然后弹出一个对话框,那么就可以将这个按钮的单击信号和自定义的槽关联起来,信号是按钮的单击信号,槽实现了创建一个对话框并显示的功能。

信号与槽就是实现对象之间通信的一种机制,在其他编程语言中也有通过回调机制来实现对象之间的通信。

  • 信号:当对象改变其状态时,信号就由该对象发射 (emit) 出去,而且对象只负责发送信号,它不知道另一端是谁在接收这个信号。
  • 槽:用于接收信号,而且槽只是普通的对象成员函数。一个槽并不知道是否有任何信号与自己相连接。

信号槽是设计模式观察者模式的一种实现:

A、一个信号就是一个能够被观察的事件,或者至少是事件已经发生的一种通知;
B、一个槽就是一个观察者,通常就是在被观察的对象发生改变的时候——也可以说是信号发出的时候——被调用的函数;
C、信号与槽的连接,形成一种观察者-被观察者的关系;
D、当事件或者状态发生改变的时候,信号就会被发出;同时,信号发出者有义务调用所有注册的对这个事件(信号)感兴趣的函数(槽)。


信号和槽是多对多的关系。一个信号可以连接多个槽,而一个槽也可以监听多个信号。

二、PyQt5中的信号和槽:

 

 

 

 

 

 

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
以下是一个PyQt5界面设计模板的例子: ``` from PyQt5.QtWidgets import * class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("Window Title") self.resize(500, 500) self.setup_ui() def setup_ui(self): label = QLabel(self) label.setText("Hello World") if __name__ == '__main__': import sys app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_()) ``` 在这个例子中,我们创建了一个名为`Window`的类,并继承自`QWidget`。在`__init__`方法中,我们设置了窗口的标题和大小,并调用了`setup_ui`方法来创建和设置窗口中的控件。在`setup_ui`方法中,我们创建了一个`QLabel`控件,并设置了其文本为"Hello World"。 最后,在`if __name__ == '__main__':`之后,我们创建了一个`QApplication`对象,实例化了`Window`类,并显示窗口。最后,通过`sys.exit(app.exec_())`来进入主循环并确保程序安全结束。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【Python】界面设计——GUI编程之【PyQt5】](https://blog.csdn.net/qq_51712954/article/details/124049242)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冯一川

谢谢老板对我的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值