gpt4 book ai didi

linux - 在 Motif 中构建长滚动按钮小部件列表的正确方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 11:16:17 27 4
gpt4 key购买 nike

我正在处理一个旧的 Motif 应用程序,它需要加载和显示一长串条目(大约 1500 个)。它通过 XtVaCreateManagedWidget() 创建和管理 xmFormWidgetClass 实例,然后用一堆线性层次结构填充它 xmFrameWidgetClass->xmFormWidgetClass->xmFormWidgetClass->xmPushButtonWidgetClass 。每个 PushButton 都包含一个多行标签。当这个东西被填充时,它会占用大量的 CPU,它会在 X/Motif 库中进行一些几何计算。添加新按钮的速度非常快。看起来 XtVaCreateManagedWidget() 内部使用了 O(N) 算法。

如果我在 xmFormWidgetClass 的原始实例上执行 XtUnrealizeWidget(),事情就会好得多。条目正在以几乎恒定的速度添加,但后来我找不到一种方法来显示我构建的整个东西。 xmFormWidgetClass 的原始实例的 XtRealizeWidget() 不会在窗口中呈现它。

我做错了什么?有没有办法填充层次结构,然后计算几何图形并立即将其渲染到屏幕上?

重新设计应用程序是一种选择,但它是一种不得已的选择。

任何让我留在 Motif 库中的建议都将不胜感激!

问候,/谢尔盖

最佳答案

尝试在 XtRealizeWidget 之后调用 XtManageChild

关于linux - 在 Motif 中构建长滚动按钮小部件列表的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6713864/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com