我有一个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'
答案 0 :(得分:0)
我认为你有建筑问题。我没有看到你的所有代码,但至少这是非常奇怪的:
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()
在你调用QtGui.QWidget.__init__
的方法中??? __init__
是父'构造函数'方法,您应该从子类中调用它__init__