19. Kontextfönster¶
Gtk.Popover
är ett separat fönster som används för att visa ytterligare information och ofta används som en del av knappmenyer och snabbvalsmenyer. Kontextfönster är visuellt anslutna till en relaterad komponent med en liten triangel. Deras användning liknar de hos dialogfönster med fördelen att de är mindre störande och har en anslutning till komponenten som kontextfönstret pekar på.
Ett kontextfönster kan skapas med Gtk.Popover
; använd Gtk.Popover.popup()
för att öppna kontextfönstret.
19.1. Anpassat kontextfönster¶
En komponent kan läggas till ett kontextfönster med Gtk.Container.add()
.
19.1.1. Exempel¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import gi gi.require_version("Gtk", "3.0") from gi.repository import Gtk class PopoverWindow(Gtk.Window): def __init__(self): super().__init__(title="Popover Demo") self.set_border_width(10) self.set_default_size(300, 200) outerbox = Gtk.Box(spacing=6, orientation=Gtk.Orientation.VERTICAL) self.add(outerbox) self.popover = Gtk.Popover() vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) vbox.pack_start(Gtk.ModelButton(label="Item 1"), False, True, 10) vbox.pack_start(Gtk.Label(label="Item 2"), False, True, 10) vbox.show_all() self.popover.add(vbox) self.popover.set_position(Gtk.PositionType.BOTTOM) button = Gtk.MenuButton(label="Click Me", popover=self.popover) outerbox.pack_start(button, False, True, 0) win = PopoverWindow() win.connect("destroy", Gtk.main_quit) win.show_all() Gtk.main() |