pyqt signal 發射引數的型別

2021-06-06 13:20:48 字數 1331 閱讀 3244

'''

conclusion:

qtcore.pyqtsignal is able to send several types of variable

including int qstring qstringlist list dict

'''from pyqt4 import qtgui, qtcore

import sys

class prowler(qtgui.qwidget):

switchsig = qtcore.pyqtsignal(dict)

def __init__(self, parent=none):

super(prowler, self).__init__(parent)

btnlayout = qtgui.qhboxlayout()

mainlayout = qtgui.qvboxlayout()

okbtn = qtgui.qpushbutton("ok")

quitbtn = qtgui.qpushbutton("c")

btnlayout.addstretch()

btnlayout.addwidget(okbtn)

btnlayout.addwidget(quitbtn)

mainlayout.addlayout(btnlayout)

self.setlayout(mainlayout)

okbtn.clicked.connect(self.callforhelp)

def callforhelp(self):

self.switchsig.emit()

class main(qtgui.qwidget):

def __init__(self, parent=none):

super(main, self).__init__(parent)

widget = prowler(self)

mainlayout = qtgui.qvboxlayout()

mainlayout.addwidget(widget)

self.setlayout(mainlayout)

widget.switchsig.connect(self.reaction)

def reaction(self, string):

print string

if __name__ == '__main__':

jenney = main()

jenney.show()

一直對於pyqt中的signal可以emit的引數型別有些猶豫

今天試了一下,發現基本沒有型別上的限制,還是挺好用的

火箭的發射視窗

在火箭發射活動中,我們經常可以看到某某火箭發射xx衛星的視窗是10 30 此處隨便寫個時間 視窗寬度是5min諸如此類的。那麼火箭的發射視窗究竟是怎麼計算出來的?視窗寬度又是怎麼定義的?本文初步 火箭的發射視窗,給出發射太陽同步軌道 sso 和近地軌道時的發射視窗原理。深空探測的發射視窗較為複雜,本...

Unity實現發射子彈的功能

常用於射擊類遊戲的射擊,在道具前連續不斷的發射子彈。一般的實現方式是 在物體前面定義乙個空的gameobject,然後把這個gameobject作為物體的子物件 給子物件新增指令碼,在子物件不斷使用instantiate例項化prefabs裡面的子彈物件即可,注意給子彈定時銷毀的時間。給出常用的函式...

粒子發射系統中的CAEmitterLayer

簡介 caemitterlayer 提供了乙個基於 core animation 的粒子發射系統,粒子用 caemittercell 來初始化。粒子畫在背景層盒邊界上。但是 caemitterlayer只支援ios5及以上版本。properties birthrate 粒子產生係數,預設1.0 em...