创建可以跨越 window 区域的弹出窗口

Create popover that can overpass window area

有一个小型 window 应用程序 (50x50px),其中只有一张图片。当你点击图片时,会出现一个popover(GtkPopover),但它不能越过window边界,只能显示一部分。

如何在不调整 window 大小的情况下解决这个问题?

X11 下 GTK 中的弹出窗口不能扩展到它们所属的顶层 window 之外,因为它们不使用单独的 windowing 系统界面;如果他们这样做,就像菜单一样,即使在他们外面点击也不能保持打开状态。

这在 GTK3 中无法修复,请参阅:

您必须使用 Wayland,或者您必须确保您的 window 足够大以显示您的弹出窗口。

您可能还想使用 gtk_popover_set_position(), gtk_popover_set_pointing_to(), or gtk_popover_set_constrain_to() 来确保弹出窗口始终在 window 表面内打开,而不是在外部。