gpt4 book ai didi

c++ - 我怎样才能创建一个非常愚蠢的 QWidget?

转载 作者:行者123 更新时间:2023-11-28 08:02:01 25 4
gpt4 key购买 nike

我需要一个“哑巴”QWidget,它什么都不做,只提供一个HWND,并且可以作为子项添加到其他QWidget s。具体来说,它不应该尝试管理鼠标光标(这是我简单地实例化一个 QWidget 的问题)。 (动机:我有一个就地激活的 ActiveX 控件,它有时会尝试更改鼠标光标,但 QWidget 会将其更改回默认值,因此它会闪烁)

最佳答案

更改光标的代码不在 QWidget 中,因此任何 QWidget 更改都无法解决问题。是 QApplication 从内部 QApplication::dispatchEnterLeave(...) 中完成的。最终,完成这项工作的是 qt_win_set_cursor

我不明白如何在不更改 Qt 源代码的情况下更改此行为。

我建议将报告作为 Qt 错误。 Qt 应该在离开外来小部件时检查 native 光标是否已更改,如果是这样,则需要保留它。如果您提供补丁来实际修复问题,您将更有可能快速修复错误。

解决方法:要防止闪烁,请使用 QApplication::setCursorOverride() 设置应用程序范围的光标覆盖。这修复了闪烁,但不会修复无法更改光标的控件。

关于c++ - 我怎样才能创建一个非常愚蠢的 QWidget?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11186783/

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