从GUI类PyQt4以外的类更改进度条的值

  • 本文关键字:PyQt4 GUI python pyqt pyqt4 qprogressbar
  • 更新时间 :
  • 英文 :


我有一个由Qt设计器创建的GUI类,其中有一个进度条,另一个类中所有的数字运算都是在其中完成的,我希望我的进度条定期更新。我想我会这样做的方式是在另一个班上做这样的事情:

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不是一个实例化的类,而是一个"type"对象(一个可以实例化的对象-请参阅此处以获得良好的概述)。当setupUi运行时,gui.Ui_mainLayout.progressBar将不作为其创建的存在。

尝试将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)

认为会起作用,但我建议在未来发布一个你期望运行的最小示例,作为解释的基础。

相关内容

  • 没有找到相关文章

最新更新