我想在pygtk表中显示超链接:
cr=gtk.CellRendererText()
column=gtk.TreeViewColumn(name)
column.add_attribute(cr, "markup", 0)
my_liststore=['<a href="http://google.com/">google</a>', ...]
标记不支持超链接“a”。我收到了这个警告:
GtkWarning: Failed to set text from markup due to error parsing markup: Unknown tag 'a' on line 1
如何在pygtk表中显示超链接?当然,如果你点击它就应该打开浏览器...
更新
提出这个问题几个月后:这是我个人的建议:不要使用gtk。这是一匹死马。我不知道Qt是否更好。要走的路是网络技术。
答案 0 :(得分:2)
以下是我现在使用的线条。单元格呈现蓝色并带下划线。双击事件使用webbrowser模块调用回调。
table = gtk.TreeView(list_store)
cr = gtk.CellRendererText()
# allow pango markup
column.add_attribute(cr, "markup", i)
# connect double click handler:
self.timeline.connect('row-activated', self.on_treeview_click)
# content in the data rows:
u'<span foreground="blue" underline="single">%s</span>' % (
glib.markup_escape_text(name))
回调:
def on_treeview_click(self, treeview, path, view_column):
model=treeview.get_model()
action_id=model[path][0]
url='....' # build your url
import webbrowser
webbrowser.open(url)