python-3.x - Python,从外部类更新 statusBar()
问题描述
我有一个包含我的主要代码的 main.py 文件。
我在另一个 preset.py 文件中有一系列类:Job
并且Preset
,Preset
扩展/继承自Job
.
当我运行 main.py 之类的东西self.statusBar().showMessage("message")
是可以访问的。
但是,当一个方法正在运行时,Presets
我想改变 - 例如 -self.statusBar().showMessage("message")
下面是一些关键的代码片段,希望这足以解释我想要实现的目标。请注意,我正在尝试实现 QThread,因此 gui 冻结应该不是问题。
在main.py
Window 类中设置如下:
from preset import Job, Preset
class Window(QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.statusBar().showMessage("message")
...
def run(self):
process = Presets(root_path=root_path, job_number=job_number, site_code=site_code, preset=preset)
在“preset.py”中:
class Job:
def __init__(self, root_path, job_number, site_code):
...
class Presets(Job):
def __init__(self, root_path, job_number, site_code, preset):
super().__init__(root_path, job_number, site_code)
...
def do_some_thing(self):
self.statusBar().showMessage("message2")
在最后一行self.statusBar().showMessage("message2")
显然不起作用,因为它应该连接到Window(QMainWindow)
main.py
解决方案
推荐阅读
- python - 使用super更改子类python中的属性值
- c - 有人怎么能编译一个只有所需函数/变量等的静态 C 程序?
- android - 使用理论的单元测试使用多个数据并一次运行测试失败
- c++ - 现代 CMake:带有定义多个导出集的库的 Superbuild
- azure - Azure ARM - 如果条件
- linux - Linux 'mail' 命令在与附件和 'from' 用户一起使用时,发送带有电子邮件作为附件的电子邮件。所需的文件附在其中
- string - 如何摆脱 RISC-V 中的“\n”?
- recursion - Prolog 树中给定深度的节点数
- magento - 如何重置magento 2中的排序
- function - 如何通过 Google 表格脚本使用过滤器工具