PyGobject(八)布局容器之Button篇——Gtk.LinkButton

Gtk.LinkButton

继承关系

Gtk.LinkButton是带有链接文本的按钮。Gtk.LinkButton是Gtk.Button的直接子类

这里写图片描述

Methods

方法修饰词方法名及参数
staticnew (uri)
staticnew_with_label (uri, label)
get_uri ()
get_visited ()
set_uri (uri)
set_visited (visited)

Virtual Methods

do_activate_link ()

Properties

NameTypeFlagsShort Description
uristrr/w当前button所绑定的uri
visitedboolr/w/en这个链接是否被访问过

Signals

NameShort Description
activate-link::activate-link 每当链接被点击时,发送此信号.

例子

这里写图片描述
代码:

#!/usr/bin/env python3
# Created by xiaosanyu at 16/6/14
# section 009
TITLE = "LinkButton"
DESCRIPTION = """
A Gtk.LinkButton is a Gtk.Button with a hyperlink, similar to the one used by web browsers,
which triggers an action when clicked.
It is useful to show quick links to resources.

The ::activate-link signal is emitted each time the Gtk.LinkButton has been clicked.

The default handler will call Gtk.show_uri() with the URI stored inside the Gtk.LinkButton :uri property.

To override the default behavior, you can connect to the ::activate-link signal
and stop the propagation of the signal by returning True from your handler.

you need to install gvfs to get support for uri schemes such as http:// or ftp://,
as only local files are handled by GIO itself
"""
import gi
import webbrowser

gi.require_version('Gtk', '3.0')
from gi.repository import Gtk


class LinkButtonWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title="LinkButton Demo")
        self.set_border_width(10)

        # button = Gtk.LinkButton(uri="file:///Users/xiaosanyu/mydocbook/docbook.html", label="Visit GTK+ Homepage")
        button = Gtk.LinkButton(uri="http://www.gnome.org", label="Visit GTK+ Homepage")
        button.connect("activate-link", self.visit)
        self.add(button)

    def visit(self, btn):
        webbrowser.open(btn.get_uri())
        return True


def main():
    win = LinkButtonWindow()
    win.connect("delete-event", Gtk.main_quit)
    win.show_all()
    Gtk.main()


if __name__ == "__main__":
    main()

创建一个Gtk.LinkButton,绑定“activate-link”信号到visit方法

button = Gtk.LinkButton(uri="http://www.gnome.org", label="Visit GTK+ Homepage")
        button.connect("activate-link", self.visit)
        self.add(button)

def visit(self, btn):
    webbrowser.open(btn.get_uri())
    return True

当点击链接时,执行visit方法,使用Python自带webbrowser模块打开URI。并且返回True。

说明:默认点击时如果报错
Unable to show ‘http://www.gnome.org‘: 不支持该操作
需要安装“gvfs”

安装gvfs

jhbuild build gvfs

这个模块装起来比较麻烦,遇到各种各样的问题,最后装上后,点击链接依然报这个错,遂放弃。
如有在MAC上直接能打开此链接的同学,还请告知方法~~





代码下载地址:http://download.csdn.net/detail/a87b01c14/9594728

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sanxiaochengyu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值