如何确定一个点是不是在 QTabWidget 的 QTabBar 旁边?
Posted
技术标签:
【中文标题】如何确定一个点是不是在 QTabWidget 的 QTabBar 旁边?【英文标题】:How can you determine if a point is next to the QTabBar of a QTabWidget?如何确定一个点是否在 QTabWidget 的 QTabBar 旁边? 【发布时间】:2018-01-24 16:22:14 【问题描述】:我有一个带有自定义 QTabBar 的自定义 QTabWidget。我需要确定一个点是否在 QTabBar 旁边的区域中。 (见图)
我有一个函数,它接受一个代表鼠标光标位置的点。使用mapFromGlobal()
函数和QTabBar.rect().contains()
函数我可以很容易地确定该点是否在QTabBar 内。然后我认为很容易确定该点是否在选项卡内容内或不以类似的方式。但是,“页面”大于内容小部件。所以通过去掉QTabBar和tab内容,我只能判断点是否在下图所示区域内:
如何确定该点是否位于 QTabBar 旁边,如第一张图片所示?有没有办法可以访问包含标签内容的底层“页面”?
【问题讨论】:
如果您希望我们帮助您,您必须提供minimal reproducible example 我一直在寻找一个概念性的答案,但我只是想出了一个。 【参考方案1】:发布后我意识到有一个非常简单的解决方案。
从全局映射鼠标光标点后,判断QPoint.y()
的值是否小于QTabBar.height()
。
【讨论】:
以上是关于如何确定一个点是不是在 QTabWidget 的 QTabBar 旁边?的主要内容,如果未能解决你的问题,请参考以下文章