/
Paff
/
declarant
Обзор
Документация
Войти
/
Paff
/
declarant
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
gui/main_window.py
57 строк
2 KB
1pash1985-gif
Декларант - веб-версия для Timeweb Cloud
15 июл 2026, 09:36
15 июл 2026, 09:36
a6b08b8
Код
Авторство
О чём код?
# -*- coding: utf-8 -*- """Главное окно приложения с вкладками.""" from __future__ import annotations from PyQt6.QtCore import Qt from PyQt6.QtWidgets import ( QMainWindow, QTabWidget, QStatusBar, QMenuBar, QMenu, ) from gui.scan_tab import ScanTab from gui.verify_tab import VerifyTab from gui.results_tab import ResultsTab from gui.settings_tab import SettingsTab class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle('Декларант — Обработка рейсов') self.setMinimumSize(1100, 700) # --- Tabs --- self.tabs = QTabWidget() self.setCentralWidget(self.tabs) self.scan_tab = ScanTab(self) self.verify_tab = VerifyTab(self) self.results_tab = ResultsTab(self) self.settings_tab = SettingsTab(self) self.tabs.addTab(self.scan_tab, '📂 Загрузка') self.tabs.addTab(self.verify_tab, '✓ Верификация') self.tabs.addTab(self.results_tab, '📋 Результаты') self.tabs.addTab(self.settings_tab, '⚙ Настройки') # --- Status bar --- self.status = QStatusBar() self.setStatusBar(self.status) self.status.showMessage('Готов к работе') # --- Connections --- self.scan_tab.scan_finished.connect(self._on_scan_finished) self.verify_tab.fill_requested.connect(self._on_fill_requested) def _on_scan_finished(self, scan_data: dict): """Scan complete — switch to verification tab.""" self.verify_tab.load_scan_data(scan_data) self.tabs.setCurrentWidget(self.verify_tab) self.status.showMessage( f'Сканирование завершено: {scan_data.get("total_items", 0)} позиций' ) def _on_fill_requested(self): """User confirmed — fill files.""" self.results_tab.run_fill(self.scan_tab.trip_path, self.verify_tab.get_verified_data()) self.tabs.setCurrentWidget(self.results_tab) self.status.showMessage('Заполнение файлов...')