繁体   English   中英

从另一个类访问变量

[英]Accessing variable from another class

我正在尝试使用另一类中的一个类的变量,但出现错误“ run()缺少1个必需的位置参数:'MyWindowClass'”

class TaskThread(QtCore.QThread):
    updateProgressSignal = QtCore.pyqtSignal(int)
    def run(self, MyWindowClass):
        for i in range(101):
           self.updateProgressSignal.emit(i)
           print ( MyWindowClass.pbTimeUpdate )
           time.sleep(MyWindowClass.pbTimeUpdate) 

class MyWindowClass(QtGui.QDialog ):
    def __init__(self, *args):
        super(MyWindowClass, self).__init__(*args)  
        self.pbTimeUpdate = .2
        self.myLongTask = TaskThread()
        self.myLongTask.updateProgressSignal.connect (self.onProgress)
        self.myLongTask.start()

    def onProgress (self, val )
        print (val)

我尝试使变量成为全局变量(在同一文件中的两个类外部声明),但是在一个类中更新变量值,另一类仍然看到原始值)

可能是什么问题?

这应该工作:

class MyWindowClass(QtGui.QDialog):
    pbTimeUpdate = .2

class TaskThread(QtCore.QThread):
    updateProgressSignal = QtCore.pyqtSignal(int)

    def run(self):
        for i in range(101):
           self.updateProgressSignal.emit(i)
           print(MyWindowClass.pbTimeUpdate)
           time.sleep(MyWindowClass.pbTimeUpdate) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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