PyQt5學(xué)習(xí)記錄(二):Event sender

Sometimes it is convenient to know which widget is the sender of a signal. For this, PyQt5 has the sender() method.

有時知道哪個組件是信號的發(fā)送者是很方便的.為此,PyQt5有sender()方法.

下面是源碼:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017/10/23 下午1:43
# @Author  : Aries
# @Site    : 
# @File    : 1023-01-Event sender.py
# @Software: PyCharm


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

class Exp(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        btn1 = QPushButton('按鈕1',self)
        btn1.move(30,50)

        btn2 = QPushButton('按鈕2',self)
        btn2.move(150,50)

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

        self.statusBar()

        self.setGeometry(300,300,290,150)
        self.setWindowFilePath('Event sender')
        self.show()


    def buttonClicked(self):
        sender = self.sender()
        self.statusBar().showMessage(sender.text() + '被點擊了')


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Exp()
    sys.exit(app.exec_())

重點代碼解讀:

  1. 在這個例子中有兩個按鈕,在buttonClicked() 方法中,我們指定哪個按鈕被點擊,就調(diào)用sender()方法.兩個按鈕被連接到了同一個方法.
btn1.clicked.connect(self.buttonClicked)            
btn2.clicked.connect(self.buttonClicked)
  1. 在buttonClicked()方法中.我們制定了當(dāng)sender()方法被調(diào)用的時候的信號源.當(dāng)按鈕被點擊的時候,在程序的statusBar上展示出來.
    def buttonClicked(self):
        sender = self.sender()
        self.statusBar().showMessage(sender.text() + '被點擊了')



運行效果圖

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末忌堂,一起剝皮案震驚了整個濱河市棋嘲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浑度,死亡現(xiàn)場離奇詭異,居然都是意外死亡咨察,警方通過查閱死者的電腦和手機祝谚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門箕憾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钠龙,“玉大人,你說我怎么就攤上這事⌒延保” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵撒汉,是天一觀的道長侵俗。 經(jīng)常有香客問我丰刊,道長寻歧,這世上最難降的妖魔是什么澄耍? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上饭于,老公的妹妹穿的比我還像新娘。我一直安慰自己舰罚,他們只是感情好纽门,可當(dāng)我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著营罢,像睡著了一般赏陵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饲漾,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天蝙搔,我揣著相機與錄音,去河邊找鬼考传。 笑死杂瘸,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伙菊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼敌土,長吁一口氣:“原來是場噩夢啊……” “哼镜硕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起返干,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤兴枯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后矩欠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體财剖,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡悠夯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了躺坟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沦补。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖咪橙,靈堂內(nèi)的尸體忽然破棺而出夕膀,到底是詐尸還是另有隱情,我是刑警寧澤美侦,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布产舞,位于F島的核電站,受9級特大地震影響菠剩,放射性物質(zhì)發(fā)生泄漏易猫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一具壮、第九天 我趴在偏房一處隱蔽的房頂上張望准颓。 院中可真熱鬧,春花似錦嘴办、人聲如沸瞬场。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贯被。三九已至,卻和暖如春妆艘,著一層夾襖步出監(jiān)牢的瞬間彤灶,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工批旺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留幌陕,地道東北人。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓汽煮,卻偏偏與公主長得像搏熄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子暇赤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容