我在Windows上創建了一個PyGTK LinkButton。它包含一個我想在用戶瀏覽器中打開的URI。如何在Windows上的瀏覽器中打開PyGTK LinkButton中的uri?
gtk.LinkButton("http://www.mysite.com")
文檔here建議我需要提供一個鉤子函數gtk.link_button_set_uri_hook
。是否有一個內置於PyGTK的函數,我可以使用跨平臺,還是我需要編寫自己的Windows特定功能?
我在Windows上創建了一個PyGTK LinkButton。它包含一個我想在用戶瀏覽器中打開的URI。如何在Windows上的瀏覽器中打開PyGTK LinkButton中的uri?
gtk.LinkButton("http://www.mysite.com")
文檔here建議我需要提供一個鉤子函數gtk.link_button_set_uri_hook
。是否有一個內置於PyGTK的函數,我可以使用跨平臺,還是我需要編寫自己的Windows特定功能?
你有什麼試過?您不必提供URI掛鉤。只需提供URI和LinkButton
就可以完成剩下的工作。小例子:
from gi.repository import Gtk
w = Gtk.Window()
w.connect("destroy", Gtk.main_quit)
w.add(Gtk.LinkButton("http://google.com", "test"))
w.show_all()
Gtk.main()
這將創建一個按鈕,單擊時在系統默認的Web瀏覽器打開谷歌的窗口。
如果由於任何原因這不起作用,您可以看看Python標準庫中的模塊,該模塊提供了跨平臺支持(我不知道該模塊是否也用於gtk內部以及在這種情況下,它不會有什麼區別)。
一個方法,這是爲我工作,在Windows和Linux:
def _open_link(func, data=None):
desktop.open(data)
gtk.link_button_set_uri_hook(_open_link)
當我運行上面的代碼,然後單擊按鈕,我從WINHTTP錯誤。它看起來像程序試圖獲取URI而不是顯示它。這可能是我的GTK安裝的配置問題。無論如何,網頁瀏覽器模塊效果很好。謝謝。 –