首页 > 其他分享 >事件发送。

事件发送。

时间:2024-09-10 10:53:26浏览次数:12  
标签:__ clicked sender text self 发送 buttonClicked 事件

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
ZetCode PyQt5 tutorial

In this example, we determine the event sender
object.

Author: Jan Bodnar
Website: zetcode.com
Last edited: August 2017
"""

import sys
from PyQt5.QtWidgets import QMainWindow, QPushButton, QApplication


class Example(QMainWindow):

    def __init__(self):
        super().__init__()

        self.initUI()


    def initUI(self):

        btn1 = QPushButton("Button 1", self)
        btn1.move(30, 50)

        btn2 = QPushButton("Button 2", self)
        btn2.move(150, 50)

        btn1.clicked.connect(self.buttonClicked)
        btn2.clicked.connect(self.buttonClicked)

        self.statusBar()
        # 用于访问和操作当前窗口或对话框的状态栏(Status
        # Bar)。状态栏通常位于窗口的底部,用于显示默认信息、临时通知、状态指示(如鼠标指针的位置、光标模式等)或其他对用户有用的信息。
        self.setGeometry(300, 300, 290, 150)
        self.setWindowTitle('Event sender')
        self.show()


    def buttonClicked(self):

        sender = self.sender()
        self.statusBar().showMessage(sender.text() + ' was pressed')


if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

这个例子里有俩按钮,buttonClicked() 方法决定了是哪个按钮能调用 sender() 方法。

text

btn1.clicked.connect(self.buttonClicked)            
btn2.clicked.connect(self.buttonClicked)

两个按钮都和同一个 slot 绑定。

text

def buttonClicked(self):

    sender = self.sender()
    self.statusBar().showMessage(sender.text() + ' was pressed')

我们用调用 sender() 方法的方式决定了事件源。状态栏显示了被点击的按钮。

程序展示:

event sender

标签:__,clicked,sender,text,self,发送,buttonClicked,事件
From: https://blog.csdn.net/weixin_72050316/article/details/142068638

相关文章

  • 13.6 编写go代码接收webhook的告警发送钉钉
    本节重点介绍:使用钉钉机器人发送到钉钉群通过alertmanagerwebhook发送我们自定义的go程序中解析alert对象并拼接钉钉信息发送需求分析使用钉钉机器人发送到钉钉群钉钉机器人发送群消息文档地址通过webhook发送我们自定义的go程序中然后解析发过来的alert,转换成钉钉的数据结构。......
  • 全网最适合入门的面向对象编程教程:46 Python函数方法与接口-函数与事件驱动框架
    全网最适合入门的面向对象编程教程:46Python函数方法与接口-函数与事件驱动框架摘要:函数是Python中的一等公民,是一种可重用的代码块,用于封装特定的逻辑;事件驱动框架是一种编程模式,它将程序的控制流转移给外部事件,如用户输入、系统消息等,它事件驱动框架可以使用函数作为事......
  • 信号发送。
    #!/usr/bin/python3#-*-coding:utf-8-*-"""ZetCodePyQt5tutorialInthisexample,weshowhowtoemitacustomsignal.Author:JanBodnarWebsite:zetcode.comLastedited:August2017"""importsysfromPyQt5.QtCore......
  • CH58x/CH59x/CH57x RF_PHY(2.4g)切换Channel发送接收
    前言:在做某些应用的时候可能需要我们发送或者接收时切换对应的channel。此次完成测试的平台在WCH的CH592F上完成的。在工作发送过程中切换37、38、39三个信道进行轮询发送。具体需要使用最关键的函数是:RF_SetChannel实现代码如下:if(events&channl_37_tx_evt){......
  • 使用SSE发送和接收流式数据
    背景早期去玩了一下各个Ai厂商的免费额度(主要是国内的),虽然不是很给力,但是还是蛮好玩的。建立长连接我们通常使用WebSocket,而对于流式数据发送,只需要服务器返回数据,而不需要客户端发送数据的情况下,SSE是一个不错的选择。介绍SSE(Server-SentEvents)。数据格式大致如下,如果不写......
  • CSS中元素将不再响应鼠标事件(如点击、悬停等)。pointer-events: none;
    按钮点击无效pointer-events:none; 是一种CSS样式规则,用于指定元素在用户与之交互时的行为。当应用了 pointer-events:none; 样式时,元素将不再响应鼠标事件(如点击、悬停等),即使用户点击该元素上的内容,也不会触发任何与该元素相关的事件。主要作用:禁用用户交互:当将 p......
  • JavaScript 事件循环
    0x01事件循环JavaScript是单线程的,即同一时间内仅能执行一个操作在单线程中,当一段代码中存在需要等待或触发的任务时,会阻塞线程,影响后续代码的执行,因此需要将代码分为同步和异步,其执行过程如下:flowchartLR代码--同步-->JS引擎-->执行栈--立即执行-->执行栈代码--异步-......
  • GIS大事件!Bentley收购Cesium
    9月6日,Cesium官方宣布加入Bentley。Bentley我们并不陌生。最初Acute3D被Bentley公司收购,旗下软件由Smart3DCapture转型到ContextCapture,现又改名iTwinCapture。如今又收购了Cesium。Cesium官方表示,Cesium开发平台与iTwin的结合将为自然和建筑环境数字孪生的构建提供了完......
  • 14、Flink SQL 的 事件时间详解
    事件时间事件时间允许程序按照数据中包含的时间来处理,这样可以在有乱序或者晚到的数据的情况下产生一致的处理结果,它可以保证从外部存储读取数据后产生可以复现(replayable)的结果。事件时间可以让程序在流式和批式作业中使用同样的语法,在流式程序中的事件时间属性,在批式程......
  • Jquery通过Ajax发送数据2
    一、低级Ajax方法   启动Ajax通信的方法,在内部jQuery会把这些方法都映射成$.ajax()全局函数的一种变体    $('#dictionary').load('a.html')加载HTML片段    等价    $.ajax({      url:  'a.html',      success: ......