У меня есть приложение PyQt Gui с несколькими окнами QDialog, которые я использую для построения данных с помощью виджета matplotlib. Это код, который я использую ниже.
Улавливается только один излучаемый сигнал. Какой из когда-либо созданных QDialog последним улавливает испускаемый им сигнал. Если диалоговое окно TempBox
создается последним, перехватывается NewTemp_signal
, или если диалоговое окно RealBox
создается последним, перехватывается NewReal_signal
. Но другой сигнал не ловится. Как поймать оба сигнала для обновления всех диалогов? Спасибо
Класс диалогового окна
class GUIgraph(QtGui.QDialog):
def __init__(self,parent=None):
QtGui.QDialog.__init__(self,parent)
print 'This is the Histograph dialog class function'
self.graph = Ui_histogram_Dialog()
self.graph.setupUi(self)
Функции, которые создают новые винды
def TempgraphFunc(self):
QtGui.QWidget.__init__(self,parent=None)
self.TempBox = GUIgraph()
self.TempBox.setWindowTitle("Temperature")
self.NewTemp_signal.connect(self.TempPlotFunc)
self.TempBox.show()
def RealgraphFunc(self):
QtGui.QWidget.__init__(self,parent=None)
self.RealBox = GUIgraph()
self.RealBox.setWindowTitle("Real Space")
self.NewReal_signal.connect(self.RealPlotFunc)
print 'Real is connected'
self.RealBox.show()
В другой функции я испускаю сигнал
def loadFiles(self):
....
self.NewTemp_signal.emit()
self.NewReal_signal.emit()
print ' signals emitted'