#python-3.x
Вопрос:
У меня есть main.py файл, содержащий мой основной код.
У меня есть серия занятий в другом preset.py файл: Job
и Preset
, Preset
расширяется/наследуется от Job
.
Когда я запускаю main.py такие вещи, как self.statusBar().showMessage("message")
доступны.
Однако, когда выполняется метод Presets
, я хотел бы изменить — например — self.statusBar().showMessage("message")
Ниже приведено несколько ключевых фрагментов кода, надеюсь, этого будет достаточно, чтобы объяснить, чего я пытаюсь достичь. Для примечания я пытаюсь реализовать QThread, поэтому замораживание графического интерфейса не должно быть проблемой.
В main.py
окне класс настроен следующим образом:
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
Комментарии:
1. Ваш
Window.run
метод определяетprocess
, как это должно бытьself.process
. Это сделаетPresets
методы доступными дляWindow
2. хорошо, так
self.process
установлено в main.py. Но вpreset.py
том, как мне изменитьself.statusBar().showMessage("message")
входmain.py
?