Измените значение индикатора выполнения из класса, отличного от моего GUI-класса PyQt4

У меня есть GUI-класс, созданный дизайнером Qt, в котором у меня есть индикатор выполнения, и еще один класс, в котором выполняется весь хруст числа, в течение которого я хочу, чтобы индикатор выполнения постоянно обновлялся. Как я думал, я сделаю это, чтобы сделать что-то подобное в другом классе:

gui.progressbar.setValue(some%) 

но я не могу сделать эту работу. код для класса gui выглядит примерно так:

 from PyQt4 import QtCore, QtGui from Run import RunProgram class Ui_mainLayout(QtGui.QWidget): def setupUi(self, mainLayout): mainLayout.setObjectName(_fromUtf8("mainLayout")) def setLayout(): self.basic_tab = QtGui.QWidget() self.progressBar = QtGui.QProgressBar(self.basic_tab) setLayout() RunProgram() 

Тогда я надеялся, что смогу сделать что-то вроде:

 import gui class RunProgram: def __init__(self): something = someMaths gui.Ui_mainLayout.progressBar.setValue(something) 

но, очевидно, поскольку я бесполезен, это не работает, может кто-то указать мне в правильном направлении? пожалуйста и спасибо

gui.Ui_mainLayout не является экземпляром класса, а объект типа (объект, который может быть создан – см. здесь для хорошего обзора). gui.Ui_mainLayout.progressBar не будет существовать, поскольку он создается при setupUi .

Попробуйте явно пропустить progressBar для RunProgram :

 from PyQt4 import QtCore, QtGui from Run import RunProgram class Ui_mainLayout(QtGui.QWidget): def setupUi(self, mainLayout): mainLayout.setObjectName(_fromUtf8("mainLayout")) def setLayout(): self.basic_tab = QtGui.QWidget() self.progressBar = QtGui.QProgressBar(self.basic_tab) setLayout(self.progressBar) RunProgram() 

а также

 class RunProgram: def __init__(self, progressBar): something = someMaths progressBar.setValue(something) 

Я думаю, что это сработает, но я предлагаю в будущем опубликовать минимальный пример, который вы ожидаете запустить, который может стать основой объяснения.