[英]PyQt multiple QDilaog class signal catching
我有一个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'
我认为您有体系结构问题。 我看不到您的所有代码,但至少这很奇怪:
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__
的子类中调用它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.