main

应用程序的入口点。

该模块包含一些处理 Glasgow CLI 启动和自定义应用启动的工具函数。构建自己的应用程序,请从复制如下示例代码开始:

from glasgow.hardware.device import GlasgowDevice
from glasgow.main import run_async, setup_logging

@run_async
async def main():
    setup_logging(level="TRACE")

    device = await GlasgowDevice.find()
    print(device.serial_number)
glasgow.main.setup_logging(*, level: int | str | None = None) → StreamHandler

配置日志输出。

用于控制输出文本颜色的 ANSI 转义序列可以用 GLASGOW_COLORS 环境变量自定义。它的值须为一个 : 分隔的 <key>=<value> 键值对,其中 <key> 是 TRACE、DEBUG、INFO、WARNING、ERROR、CRITICAL、RESET 其中之一,而 <value> 将被用为转义序列中的核心部分,如 "033[<value>m"。

例如,如需将 TRACE 级别的消息设置为灰色,并将 INFO 级别的消息设置为白色,则应将 GLASGOW_COLORS 设置为 TRACE=37:INFO=1;37。

该函数创建一个向 sys.stderr 写入,链接到根 logger 的 logging.StreamHandler,并将其返回。

glasgow.main.run_async(main: Callable[[], Awaitable[int | None]])

配置运行时并调用 main。

该装饰器是一个便捷的在您自己的脚本中使用 Glasgow 库的方式。在应用所需的平台和库特性的规避方案后,main 函数会将在一个新的 asyncio 事件循环中被调用。

此外,如果使用 run_async() 装饰器的文件直接在命令行被调用(而不是被导入),它也会调用这个被包装后的 main 函数,如同该文件在 main 的定义后立即包含如下代码:

if __name__ == "__main__":
    main()
glasgow.main.run_async_qtwidgets(main: Callable[[], Awaitable[Any]])

配置 Qt 运行时并调用 main。

该装饰器的作用和功能与 run_async() 几乎相同,区别仅在于它会初始化一个使用 QtWidgets 库的图形应用程序。

glasgow.main.run_async_qtqml(main: Callable[[], Awaitable[Any]])

配置 Qt 运行时并调用 main。

该装饰器的作用和功能与 run_async() 几乎相同,区别仅在于它会初始化一个使用 QtQml 库的图形应用程序。

请从 main() 返回 QQmlEngine 实例,以免它过早地被垃圾回收。