草庐IT

Signal-Slot

全部标签

python - flask 信号 : why is it not ok to modify data on signal?

Flask文档说:Alsokeepinmindthatsignalsareintendedtonotifysubscribersandshouldnotencouragesubscriberstomodifydata我想知道,为什么会这样?我正在使用Flask-User库,我想在用户注册时为用户设置一些默认字段(例如,将显示名称设置为等于用户名),然后更新数据库。Flask-User在用户注册时发送user_registered信号。为什么订阅信号并更新其中的数据库是个坏主意? 最佳答案 它是over-round解决方案。我想我是强

python - PyQt4,如何一次添加一批小部件(QPushButton)并让它们在SLOT上执行

如果我想一次添加10个QPushButton:NumCount=20foriinrange(NumCount):btn=QPushButton("%s%s"%("Button"i+1),self)btn.clicked.connect(self.btnclick)defbtnclick(self):#hereismyquestion#howtodefinewhichbuttonclicked?#howtoprintbtn.text?如def(btnclick)中所述。 最佳答案 当您在插槽中时,您可以使用sender()方法(只需调

python - PySide/Qt : Too many arguments to connect a signal to a slot?

我正在尝试将自定义信号(在TCP客户端类中)连接到一个方法,该方法使用服务器发送的数据更新日志等等。这是TCP客户端类的声明:classCarSocket(QObject):logSignal=Signal(str,str)...def__init__(self,...):super(CarSocket,self).__init__()...我尝试连接到logSignal的方法:defaddToLog(self,text,mode='NORMAL'):ifmode=='RAW':toAdd=textelse:toAdd="{}\n\n".format(text)self.log.log

python - 正确使用 scipy.signal.spectral.lombscargle 的方法

我指的是以下帖子:Usingscipy.signal.spectral.lombscargleforperioddiscovery我意识到在某些情况下给出的答案是正确的。sin(x)的频率,即1/(2*pi)#importsthenumericalarrayandscientificcomputingpackagesimportnumpyasnpimportscipyasspfromscipy.signalimportspectral#generates100evenlyspacedpointsbetween1and1000time=np.linspace(1,1000,100)#co

python - scipy.ndimage.filters.convolve 和 scipy.signal.convolve 有什么区别?

据我所知,这些方法都在各自的DLL中作为C函数实现,而且ndimage版本似乎更快(两个实现都没有使用并行代码,比如调用blas或MKL)。此外,当我尝试通过运行以下代码检查它们是否返回相同的结果时,相等断言失败了。我无法从文档中弄清楚这两种方法之间的功能差异究竟应该是什么(文档也不是很清楚0相对于内核起源位置的含义;来自例如,我推断它在中心,但我可能错了)。fromnumpyimportrandom,allclosefromscipy.ndimage.filtersimportconvolveasconvolveimfromscipy.signalimportconvolveasco

python - 使用 scipy.signal.resample 重采样时间

我有一个信号不是等距采样的;为了进一步处理它需要。我以为scipy.signal.resample会做,但我不明白它的行为。信号在y中,相应的时间在x中。重采样预计在yy中进行,所有相应的时间都在xx中。有谁知道我做错了什么或如何实现我的需要?此代码不起作用:xx不是时间:importnumpyasnpfromscipyimportsignalimportmatplotlib.pyplotaspltx=np.array([0,1,2,3,4,5,6,6.5,7,7.5,8,8.5,9])y=np.cos(-x**2/4.0)num=50z=signal.resample(y,num,x

python - PyQt 连接 SIGNAL 到多个 SLOT

我正在尝试通过使用python和qt进行快速图形用户界面编程来学习PyQt,目前正在学习Signals和Slots.下面是我的一小段代码:self.connect(self.dial,SIGNAL("valueChanged(int)"),self.spinbox.setValue)#1self.connect(self.dial,SIGNAL("valueChanged(int)"),self.getValue_dial)#2self.connect(self.spinbox,SIGNAL("valueChanged(int)"),self.dial.setValue)self.co

python - 值错误 : signal only works in main thread - Django - mod_wsgi

我正在尝试执行shell命令并使用pythonsignal模块终止它。我知道信号只适用于主线程,所以我运行Django开发服务器,pythonmanage.pyrunserver--nothreading--noreload而且效果很好。但是当我使用Apache/mod_wsgi部署django应用程序时,它显示以下错误:[FriSep1220:07:002014][error]response=function.call(request,**data)[FriSep1220:07:002014][error]File"/Site/cloud/lib/python2.6/site-pa

python - 使用 scipy.signal.welch 找不到合适的能量

对于给定的离散时间信号x(t)带间距dt(等于1/fs,fs是采样率),能量为:E[x(t)]=sum(abs(x)**2.0)/fs然后我做x(t)的DFT:x_tf=np.fft.fftshift(np.fft.fft(x))/(fs*(2.0*np.pi)**0.5)并再次计算能量:E[x_tf]=sum(abs(x_tf)**2.0)*fs*2*np.pi/N(这里的因子fs*2*np.pi/N=脉动间距dk,fftfreq的文档提供了有关频域间距的更多详细信息),我有相同的能量:E[x(t)]=E[x_tf]但是...当我计算x(t)的功率谱密度时使用scipy.signal

python - 频率响应 Scipy.signal

我正在学习数字信号处理以实现滤波器,并使用Python轻松实现测试想法。所以我刚开始使用scipy.signal库来查找不同滤波器的脉冲响应和频率响应。目前我正在阅读“数字信号、处理器和噪声”一书,作者是PaulA.Lynn(1992年)(我发现它是学习这些东西的绝佳资源)。在这本书中,他们有一个过滤器,其传递函数如下所示:我把分子和分母除以为了得到以下等式:然后我使用Scipy实现了这个:NumeratorZcoefs=[1,-1,1,-1]DenominatorZcoefs=[1,0.54048,-0.62519,-0.66354,0.60317,0.69341]FreqRespo