from __future__ import annotations import argparse import sys from PySide6.QtCore import Qt from PySide6.QtGui import QFont from PySide6.QtWidgets import QApplication from processdock.services import ProcessService from processdock.ui import MainWindow def build_parser() -> argparse.ArgumentParser: parser = argparse.ArgumentParser(description="ProcessDock 进程与端口管理器") parser.add_argument("--no-auto-refresh", action="store_true", help="启动时关闭自动刷新") return parser def main() -> int: arguments = build_parser().parse_args() QApplication.setHighDpiScaleFactorRoundingPolicy( Qt.HighDpiScaleFactorRoundingPolicy.PassThrough ) application = QApplication(sys.argv) application.setApplicationName("ProcessDock") application.setOrganizationName("ProcessDock") application.setStyle("Fusion") application.setFont(QFont("Microsoft YaHei UI", 10)) window = MainWindow( service=ProcessService(), auto_refresh=not arguments.no_auto_refresh ) window.show() return application.exec() if __name__ == "__main__": raise SystemExit(main())