gpt4 book ai didi

qt - 在它发生之前拦截小部件移动/调整大小

转载 作者:行者123 更新时间:2023-12-05 07:46:32 25 4
gpt4 key购买 nike

我正在使用 QMdiSubWindow,我想捕获任何试图修改窗口大小/形状/位置的输入并过滤/修改结果位置和大小,以便小部件与网格对齐。

QResizeEvent 似乎为时已晚,即窗口已经调整大小,布局已经计算,并且通常已经安排了对小部件的完全重绘。

resizeEventeventFilter 都让我了解刚刚发生的调整大小,如果更改不合需要,则“撤消”它,这是一个巨大的性能问题对我来说(嵌入式设备,图形速度慢)。

我目前正在捕捉 QMouseEvent 并修改报告的光标位置,但这很困惑,并没有捕捉到窗口几何形状发生变化的所有情况。

最佳答案

如果您通过拖动窗口边框来调整大小,那么您应该捕获类似 QEvent::NonClientAreaMouseButtonPress 的事件,请在此处查看更多信息 - QEvent::Type

您可以安装观察器以检查更改的窗口大小并具有有关 NonClientDrag 的标志(例如)。
但问题是当用户按下“最大化”按钮或只是 win+↑(在 WinOS 中)时要做什么,另一方面,这种变化几乎是立竿见影的,所以你不必担心他们。

关于qt - 在它发生之前拦截小部件移动/调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40677261/

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