Skip to content

Instantly share code, notes, and snippets.

@mwchambers
Created February 26, 2010 01:11
Show Gist options
  • Save mwchambers/315283 to your computer and use it in GitHub Desktop.
Save mwchambers/315283 to your computer and use it in GitHub Desktop.
Python GTK Click Button
import gtk
import time
class ClickButtonApp(object):
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.connect("destroy", self.quit)
self.button = gtk.Button("When ready, click for 10 seconds.")
self.button.connect("clicked", self.do_click)
self.window.add(self.button)
self.clicks = 0
self.button.show()
self.window.show()
def do_click(self, widget, data=None):
if self.clicks == 0:
self.start_time = time.time()
elapsed = time.time() - self.start_time
if elapsed >= 10:
cpm = self.clicks * 6
msg = "Total clicks: %s. Per minute: %s. Per second: %s" % (
self.clicks,
cpm,
cpm / 60.0
)
self.button.set_label( msg )
else:
self.clicks += 1
self.button.set_label("%.2f seconds elapsed. # clicks: %s" % (
elapsed, self.clicks))
def quit(self, widget, data=None):
gtk.main_quit()
def main(self):
""" Start the gtk event loop """
gtk.main()
if __name__ == "__main__":
s = ClickButtonApp()
s.main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment