我正在使用winit crate in Rust创建一个新窗口.我的程序最初创建一个CLI,并且基于用户在CLI中的可选输入来创建图形用户界面窗口.如何在不退出进程和完全关闭程序的情况下关闭新创建的窗口.
我看到的文档和示例都使用ControlFlow::Exit来处理CloseRequsted事件,但该事件从整个程序中退出;我只想关闭创建的窗口并继续运行CLI中的其余代码.如果有特定于操作系统的命令,我的目标是Windows操作系统.
我正在使用winit crate in Rust创建一个新窗口.我的程序最初创建一个CLI,并且基于用户在CLI中的可选输入来创建图形用户界面窗口.如何在不退出进程和完全关闭程序的情况下关闭新创建的窗口.
我看到的文档和示例都使用ControlFlow::Exit来处理CloseRequsted事件,但该事件从整个程序中退出;我只想关闭创建的窗口并继续运行CLI中的其余代码.如果有特定于操作系统的命令,我的目标是Windows操作系统.
到close the window,只需放下Window
对象即可.
然而,我怀疑您可能也在考虑exit the event loop.,这并不是在所有平台上都可能的,这就是为什么您不会经常看到文档介绍它的原因.要运行事件循环并有机会退出它,请使用winit::platform::run_return::EventLoopExtRunReturn::run_return()
,这是一个仅在支持从事件循环返回的平台(包括Windows)上实现的特性.在这run_return()
中,从事件处理程序使用ControlFlow::Exit
将把控制权返回给调用函数,而不是退出进程.
您也可以执行以下操作之一,而不是使用run_return()
:
winit
事件循环内使用CLI界面运行.