【问题标题】:how to Create a Progress bar or a loading icon in Open CASCADE如何在 Open CASCADE 中创建进度条或加载图标
【发布时间】:2021-03-18 16:15:56
【问题描述】:

我正在 OpenCASCADE 中寻找一个 API,它可以为我提供等待图标或进度条,以帮助我减少创建或打开对象的时间延迟

【问题讨论】:

    标签: opencascade


    【解决方案1】:

    OCCT 不是一个 GUI 框架或应用程序 - 它没有实现任何等待光标或类似的东西。

    应用程序应:

    • 后台线程中执行长时间操作,以防止 GUI 线程冻结。线程创建、与 GUI 线程的互操作、围绕已修改结构的适当互斥锁以避免数据竞争 - 由应用程序代码负责。虽然您可以使用 OCCT 的 OSD_Thread/Standard_Mutex/Standard_Condition 工具。
    • 在 GUI 中向用户显示长时间操作的指示(如等待光标)并防止意外的用户输入(锁定输入按钮等),直到后台操作完成。这是非常特定于 GUI 框架的。
    • 尽可能使用所需的 GUI 控件实现Message_ProgressIndicator 界面(作为等待光标的替代方法)并且有意义。这也非常特定于 GUI 框架和目标平台(例如,Windows 提供了一个专用 API,用于直接在任务栏上显示进度指示)。

    如果应用程序会向用户显示等待图标或不显示等待图标,则 GUI 线程中的长时间计算是危险的。这样的应用程序可能会被认为是挂起 - 在 Windows 上单击这样的窗口会建议用户杀死被挂起的应用程序或再等一会儿,Android 可能会更快地杀死应用程序。这不是 OCCT 特有的内容,而是一般性指导。

    this post 中,您还可以查看OCCT 中Message_ProgressIndicator API 的描述。该 API 被许多 OCCT 算法公开,但也可以被应用程序算法使用。

    【讨论】:

      猜你喜欢
      • 2020-01-12
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 2011-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多