Каждый gui модуль собирается в main.py
Если я нажимаю кнопки в menuLv1, другие модули меняются. Например, если нажать кнопку в menuLv1, измените сообщение в статусе. Но я не знаю, как.
Конечно, я могу сделать это, если каждый код собирается в одном файле, но если он разделен. Я боролся с этой проблемой в течение нескольких дней, но стали.
Ниже приведены ее коды
main.py
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import pathlib
currentPath = pathlib.Path(__file__).parent.absolute()
sys.path.extend([currentPath])
import menuLv1, menuLv2, contents, status
app = QApplication([])
class MainFrame(QWidget):
def __init__(self):
super().__init__()
self.etc()
self.wrapper.addWidget(menuLv1.menuLv1())
# menuLv2.initiation()
# contents.initiation()
self.wrapper.addWidget(status.statusBar())
def etc(self):
self.setWindowTitle('Modularized Work Automation System for Pluscare (version 0.1)')
self.wrapper = QVBoxLayout()
self.wrapper.setContentsMargins(0, 0, 0, 0)
self.wrapper.setSpacing(0)
self.setLayout(self.wrapper)
if __name__ == "__main__":
Window = MainFrame()
Window.setMinimumSize(800, 600)
Window.showMaximized()
sys.exit(app.exec_())
[модуль 1 (( menuLv1.py)]
from PyQt5.QtWidgets import *
class menuLv1(QMenuBar):
def __init__(self):
super().__init__()
self.menuLv1setting = QAction("config",self)
self.addAction(self.menuLv1setting)
menuLv1setting.triggered.connect(lambda:menuLv2.setCurrentWidget(menuLv2setting))
menuLv1setting.triggered.connect(lambda:statusbar.showMessage("config"))
self.setStyleSheet("background-color: red; ")
self.setFixedHeight(23)
[модуль 2 (status.py)]
from PyQt5.QtWidgets import *
class statusBar(QStatusBar):
def __init__(self):
super().__init__()
self.setStyleSheet("background-color: green")
self.showMessage("asdsfd")
self.setFixedHeight(30)