m3bik Posted December 6, 2011 Share Posted December 6, 2011 I'm new to python in general, but I have a python program that loads a web page. I'm using a slightly altered code I found at http://kmandla.wordpress.com/2010/05...rowser-script/ for a simple python gtk browser. I would like for when the user clicks a link on the page loaded in the python program to open in the actual browser (not the same program). I've found that "webbrowser.open" does this for certain things if I "import webbrowser" but I can't seem to make it happen when the user clicks a link.. #!/usr/bin/env python import sys import gtk import webkit import webbrowser DEFAULT_URL = 'http://www.google.com' class SimpleBrowser: # needs GTK, Python, Webkit-GTK def __init__(self): self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS) self.window.connect('delete_event', self.close_application) self.window.set_default_size(350, 20) vbox = gtk.VBox(spacing=5) vbox.set_border_width(5) self.txt_url = gtk.Entry() self.txt_url.connect('activate', self._txt_url_activate) self.scrolled_window = gtk.ScrolledWindow() self.webview = webkit.WebView() self.scrolled_window.add(self.webview) vbox.pack_start(self.scrolled_window, fill=True, expand=True) self.window.add(vbox) def _txt_url_activate(self, entry): self._load(entry.get_text()) # I've tried replacing this with webbrowser.open(entry.get_text()) with no luck def _load(self, url): self.webview.open(url) def open(self, url): self.txt_url.set_text(url) self.window.set_title('%s' % url) self._load(url) def show(self): self.window.show_all() def close_application(self, widget, event, data=None): gtk.main_quit() if __name__ == '__main__': if len(sys.argv) > 1: url = sys.argv[1] else: url = DEFAULT_URL gtk.gdk.threads_init() browser = SimpleBrowser() browser.open(url) browser.show() gtk.main() Any help would be appreciated! Thanks! Quote Link to comment Share on other sites More sharing options...
Alexander_john Posted March 1, 2012 Share Posted March 1, 2012 Hello, Well For my class, I was asked to make an on-screen keyboard that when you clicked a button, the letter would appear in an entry box above. I've done that, but the extension was to create a backspace button. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.