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

And*_*osu 1 glade gtk3

有一个小窗口应用程序(50x50px),里面只有一张图像。当您单击图像时,会出现一个弹出框(GtkPopover),但它不能越过窗口边框,并且仅显示其中的一部分。

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

eba*_*ssi 5

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

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

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

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