gui-gtk3.py
37 lines
| 773 B
| text/x-python
|
PythonLexer
Thomi Richards
|
r6465 | #!/usr/bin/env python | ||
"""Simple Gtk example to manually test event loop integration. | ||||
This is meant to run tests manually in ipython as: | ||||
In [1]: %gui gtk3 | ||||
In [2]: %run gui-gtk3.py | ||||
""" | ||||
from gi.repository import Gtk | ||||
Dimitri Papadopoulos
|
r26875 | def hello_world(widget, data=None): | ||
Thomi Richards
|
r6466 | print("Hello World") | ||
Thomi Richards
|
r6465 | |||
def delete_event(widget, event, data=None): | ||||
return False | ||||
def destroy(widget, data=None): | ||||
Gtk.main_quit() | ||||
Thomas Kluyver
|
r21944 | window = Gtk.Window(type=Gtk.WindowType.TOPLEVEL) | ||
Thomi Richards
|
r6465 | window.connect("delete_event", delete_event) | ||
window.connect("destroy", destroy) | ||||
Thomas Kluyver
|
r21944 | button = Gtk.Button(label="Hello World") | ||
Thomi Richards
|
r6465 | button.connect("clicked", hello_world, None) | ||
window.add(button) | ||||
button.show() | ||||
window.show() | ||||
try: | ||||
Thomas Kluyver
|
r17899 | from IPython.lib.inputhook import enable_gui | ||
enable_gui('gtk3') | ||||
Thomi Richards
|
r6465 | except ImportError: | ||
Gtk.main() | ||||