Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import gi
- gi.require_version('Gtk', '3.0')
- from gi.repository import Gtk, GdkPixbuf, Gdk
- import os, sys
- class GUI:
- def __init__(self):
- self.stack = Gtk.Stack()
- switcher = Gtk.StackSwitcher()
- switcher.set_stack(self.stack)
- label1 = Gtk.Label("label 1")
- label2 = Gtk.Label("label 2")
- self.stack.add_titled (label1, "1", "Page 1")
- self.stack.add_titled (label2, "2", "Page 2")
- box = Gtk.Box()
- box.pack_start(switcher, True, False, 0)
- box.pack_start(self.stack, True, True, 0)
- box.set_orientation(Gtk.Orientation.VERTICAL)
- window = Gtk.Window()
- window.add(box)
- window.show_all()
- window.connect("key-press-event", self.key_press)
- def key_press (self, window, event):
- keyname = Gdk.keyval_name(event.keyval)
- if not Gdk.ModifierType.CONTROL_MASK:
- return
- #forward scroll
- previous_child_active = False
- if keyname == "r":
- for child in self.stack.get_children():
- if previous_child_active == True:
- self.stack.set_visible_child(child)
- return
- previous_child_active = self.stack.get_visible_child() == child
- #reverse scroll
- previous_child = None
- if keyname == "s":
- for child in self.stack.get_children():
- if self.stack.get_visible_child() == child and previous_child != None:
- self.stack.set_visible_child(previous_child)
- return
- previous_child = child
- def on_window_destroy(self, window):
- Gtk.main_quit()
- def main():
- app = GUI()
- Gtk.main()
- if __name__ == "__main__":
- sys.exit(main())
Add Comment
Please, Sign In to add comment