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
 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()