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

_images/popover_example.png
 1import gi
 2
 3gi.require_version("Gtk", "3.0")
 4from gi.repository import Gtk
 5
 6
 7class PopoverWindow(Gtk.Window):
 8    def __init__(self):
 9        super().__init__(title="Popover Demo")
10        self.set_border_width(10)
11        self.set_default_size(300, 200)
12
13        outerbox = Gtk.Box(spacing=6, orientation=Gtk.Orientation.VERTICAL)
14        self.add(outerbox)
15
16        self.popover = Gtk.Popover()
17        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
18        vbox.pack_start(Gtk.ModelButton(label="Item 1"), False, True, 10)
19        vbox.pack_start(Gtk.Label(label="Item 2"), False, True, 10)
20        vbox.show_all()
21        self.popover.add(vbox)
22        self.popover.set_position(Gtk.PositionType.BOTTOM)
23
24        button = Gtk.MenuButton(label="Click Me", popover=self.popover)
25        outerbox.pack_start(button, False, True, 0)
26
27
28win = PopoverWindow()
29win.connect("destroy", Gtk.main_quit)
30win.show_all()
31Gtk.main()

19.3. Se även