【发布时间】:2016-10-17 12:33:18
【问题描述】:
我的 python 应用程序由各种独立处理算法/模块组成,这些算法/模块组合在一个 (Py)Qt GUI 中以便于访问。
每个处理算法都位于其自己的模块中,与 GUI 元素的所有通信都在主模块的单个类中实现。
特别是,这个 GUI 类有一个进度条 (QProgressBar) 对象,旨在表示所选算法的当前处理进度。
该对象具有.setValue() 方法(self.dlg.progressBar.setValue(int))。
问题在于,由于self.dlg.progressBar.setValue() 是一个类方法,我无法在导入的处理模块中使用它在自己的代码中报告它们的进度状态。
我找到的唯一解决方法是在每个处理模块的定义中添加progressbar变量,在主模块内部传递self.dlg.progressBar,然后在处理模块内部盲目调用progressbar.setValue(%some_processing_var%)。
这是在导入模块中使用外部类方法的唯一方法还是有更好的方法?
【问题讨论】:
标签: python qt class module pyqt