【问题标题】:PyQt multiple QDilaog class signal catchingPyQt 多个 QDilaog 类信号捕获
【发布时间】:2013-03-21 00:33:37
【问题描述】:

我有一个 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)

创建新windwos的函数

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' 

【问题讨论】:

    标签: python signals pyqt4 qdialog


    【解决方案1】:

    我认为你有架构问题。我没有看到你所有的代码,但至少这很奇怪:

    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__ 的子类中调用它

    【讨论】:

    • 删除__init__ 函数解决了这个问题。我得说我并不完全理解我写的所有东西(复制和粘贴)。我通常会尝试找到可以满足我需求的代码 sn-ps,然后对其进行修改以满足我的需要。我不知道为什么我有构造方法。
    • > 删除__init__ 函数解决了问题__init__ 方法的调用。很高兴你修好了。但是你必须明白你在做什么。阅读有关Python, Object Oriented Programming 等的更多信息。不要忘记投票/接受对您问题的好答案。干杯!
    猜你喜欢
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 2012-09-03
    相关资源
    最近更新 更多