gui-gtk.py
39 lines
| 770 B
| text/x-python
|
PythonLexer
Brian Granger
|
r2216 | #!/usr/bin/env python | ||
"""Simple GTK example to manually test event loop integration. | ||||
This is meant to run tests manually in ipython as: | ||||
In [5]: %gui gtk | ||||
In [6]: %run gui-gtk.py | ||||
""" | ||||
import pygtk | ||||
pygtk.require('2.0') | ||||
import gtk | ||||
def hello_world(wigdet, data=None): | ||||
Thomas Kluyver
|
r6453 | print("Hello World") | ||
Brian Granger
|
r2216 | |||
Brian Granger
|
r2232 | def delete_event(widget, event, data=None): | ||
return False | ||||
def destroy(widget, data=None): | ||||
gtk.main_quit() | ||||
Brian Granger
|
r2216 | window = gtk.Window(gtk.WINDOW_TOPLEVEL) | ||
Brian Granger
|
r2234 | window.connect("delete_event", delete_event) | ||
window.connect("destroy", destroy) | ||||
Brian Granger
|
r2216 | button = gtk.Button("Hello World") | ||
button.connect("clicked", hello_world, None) | ||||
Brian Granger
|
r2232 | window.add(button) | ||
Brian Granger
|
r2216 | button.show() | ||
window.show() | ||||
try: | ||||
Thomas Kluyver
|
r17899 | from IPython.lib.inputhook import enable_gui | ||
enable_gui('gtk') | ||||
Brian Granger
|
r2216 | except ImportError: | ||
gtk.main() | ||||