2015-08-29 15 views
0

我是新来的Python一个键调用两个功能。我一直在使用PyQt的创建按钮,并希望通过单击该按钮Python中通过单击PyQt的

QtCore.QObject.connect(self.start, QtCore.SIGNAL('clicked()'), self.trial,self.trial2) 
+0

关于把两者的功能与由按钮excecuted一个新的单一功能是什么? – albert

+0

但我希望这两个函数同时启动。 – user2693313

+1

为什么他们必须同时开始? – Mel

回答

6

你可以只连接信号的两倍,喜欢叫两个单独的函数:

QtCore.QObject.connect(self.start, QtCore.SIGNAL('clicked()'), self.trial) 
QtCore.QObject.connect(self.start, QtCore.SIGNAL('clicked()'), self.trial2) 

两个功能将被调用时,信号被发射。根据文件:

如果一个信号连接到多个插槽,插槽会按照发出信号时的连接顺序激活。

+0

我希望两个函数能够同时启动。这会工作吗? – user2693313

+0

@ user2693313看我的编辑。如果您想在相同(几乎)的时间启动它们,您可能需要启动一个新线程来在插槽中完成这项工作。 –

+1

@ user2693313:没有谈到[多线程(https://en.wikipedia.org/wiki/Thread_%28computing%29#Multithreading)或[多](https://en.wikipedia.org/wiki/Multiprocessing) ,您的计算机无法同时或并行执行任何操作。但取决于你想做什么,这并不重要,因为串行处理应该是快速的,并且对于正常使用来说并行感觉。 – albert