繁体   English   中英

PyQt多个QDilaog类信号捕获

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM