40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
|
|
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())
|