可以在wxpython中使用以下命令获取鼠标位置
event.GetPosition()
但是,有没有可能在sizer中获得鼠标的位置?即使在扩展的sizer中,这也能起作用吗?
谢谢。
发布于 2011-11-23 06:26:44
sizer中的X,Y位置与sizer所属的窗口完全相同,假设sizer是分配给该窗口的sizer。如果你有嵌套的sizer,那么你可以使用sizer.GetPosition和sizer.GetSize来确定位置是否在那个嵌套的sizer中。
然而,我猜测知道鼠标在sizer中的位置并不是很有用。您可能想知道sizer中鼠标位置所在的项,就像HitTest类型的方法一样。您可以使用sizer.GetChildren()方法实现类似的操作,并遍历它的项(它们是wx.SizerItem对象)并查看项的位置和大小,以找到其中包含点的项。如果该项目是一个sizer,那么您可以递归地下降到该sizer,并执行相同的操作,直到在所需的点找到叶项目。
发布于 2011-11-23 06:19:22
Sizers不适用于绝对定位。它们是用于相对定位的。Sizers在让你的布局在多个平台和主题上看起来都是最好的。如果您真的希望能够在特定的x-y坐标上插入内容,那么就不要使用sizer。
https://stackoverflow.com/questions/8221586
复制相似问题