首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何关闭使用winit初始化的窗口,而不退出程序/进程?

如何关闭使用winit初始化的窗口,而不退出程序/进程?
EN

Stack Overflow用户
提问于 2022-10-24 00:42:20
回答 1查看 74关注 0票数 3

我正在使用winit 在锈蚀中创建一个新窗口。我的程序最初创建一个CLI,GUI窗口是根据CLI中用户的可选输入创建的。如何关闭新创建的窗口而不退出进程并完全关闭程序。

我看到的文档和示例都使用ControlFlow::Exit来处理CloseRequested事件,但该退出来自整个程序;我只想关闭创建的窗口并继续运行CLI中的其余代码。如果有一个特定于操作系统的命令,我的目标是windows操作系统.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-24 03:43:49

若要关闭窗口,只需删除Window对象即可。

但是,我怀疑您可能也希望退出事件循环。这在所有平台上都是不可能的,这就是为什么您没有经常看到有关它的文档。要运行事件循环并有退出它的机会,请使用winit::platform::run_return::EventLoopExtRunReturn::run_return(),这是只在那些可以支持从事件循环(包括Windows)返回的平台上实现的特性。在该run_return()中,使用事件处理程序中的ControlFlow::Exit将控制返回到调用函数,而不是退出进程。

您也可以做这些事情之一,而不是使用run_return()

  • 构造您的程序,以便它在关闭窗口后继续在winit事件循环中使用CLI接口运行。
  • 在另一个线程上运行CLI交互。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74175743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档