import sys import pyqtgraph as pg from PyQt5 import QtWidgets # TODO: Правило хорошего тона при оформлении импортов: сначала встроенные библиотеки, # через одну пустую строку - дополнительно установленные, и еще через одну пустую строку - собственные импорты. from gui.mainGui import MainWindow from controller.monitor import DirectoryMonitor from controller.mediator import Mediator from controller.converter import DataConverter from gui.plotter import PlotWidget from controller.controller import Controller from controller.passportFormer import PassportFormer # TODO: Актуализировать requirements.txt!!! Делать это регулярно после добавления новых библиотек! # TODO: Именование модулей: lowercase / snake_case. def main(): pg.setConfigOptions(useOpenGL=False, antialias=False) app = QtWidgets.QApplication(sys.argv) monitor = DirectoryMonitor() data_converter = DataConverter() plot_widget_builder = PlotWidget() controller = Controller() passport_former = PassportFormer() window = MainWindow(controller) mediator = Mediator(monitor, data_converter, passport_former, plot_widget_builder, controller) window.show() controller.signal_widgets.connect(window.show_plot_tabs) controller.signal_statusBar.connect(window.update_progressBar) controller.signal_statusText.connect(window.update_stateLabel) controller.signal_settings.connect(mediator.update_settings) controller.signal_open_file.connect(monitor.custom_csv_extract_only) controller.signal_raport_mode.connect(monitor.start_raport) controller.signal_seeking_mode.connect(monitor.start_seeking) controller.signal_update_plots.connect(monitor.update_plots) sys.exit(app.exec_()) if __name__ == '__main__': main()