在python中创建类的实例??

时间:2016-01-25 19:54:44

标签: python qt class

如何将变量从一个python模块(1st module)传递到另一个(2nd module),其中包含一个主模块和两个Qdialog,当2nd module中按下按钮时会出现这些模块

如何将这些值从1st module发送到Qdialog

中的2nd module

我正在处理多个模块和数据需要在这里和那里更新,并且与继承/创建类和模块的实例完全混淆

# mainwindow.py(1st module)

from 2nd_module import window2, dialog1, dialog2
class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.win2 =window2()
        self.dia1 =dialog1()

        if 1:
           self.win2.bar()
           # pass data 
           self.dia1.some_function(data)

# 2nd_module.py
from mainwindow import mainwindow
class dialog1 (QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)           


    def update(self):
        w = window2()            
        #do something
        w.self.ma.foo() 
.
.
class dialog2 (QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
.
.
class window2(QtGui.QMainWindow):
    def __init__(self):
        super(window2, self).__init__()
        self.update_request = 0  # initilizing the variable here 
        self.ma = mainwindow()

        self.connect(dialog1_bttn, Qt.SIGNAL("clicked()"), self.open_dialog1 )

    def open_dialog1(self): #this is how i create the instance of dialog box
        self.open1 =dialog1()
        self.open1.show


    def foo(self): # this updates the request value from 2 dialog boxes
       #do something
       self.update_request = 1

    def bar(self): # this is called from 1st module to check if there are any update requests  
       if self.update_request ==1:
       #do something

我的挣扎

所以这里当我从dialog1调用foo()时它工作正常并将值更新为1.但是现在当我从第一个模块调用bar()时,值self.update_request变为0全部时间

我的mainwindow(1st module)运行所有后台任务,例如从串口交换数据等。我需要将这些数据发送到dialog1中的2nd_module来更新值

任何人都可以告诉我如何创建Qt Dialogs, windows的正确实例并将data/variables/list从一个班级传递到另一个班级..提前谢谢

0 个答案:

没有答案