Python gi.repository.Gtk 模块,LinkButton() 实例源码

我们从Python开源项目中,提取了以下14个代码示例,用于说明如何使用gi.repository.Gtk.LinkButton()

项目:duck-feed    作者:h0m3stuck    | 项目源码 | 文件源码
def create_feed_entry(title, url, description):
    container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
    title_label = Gtk.Label(title)
    link_button = Gtk.LinkButton(url, url)
    description_view = WebKit2.WebView()
    description_view.set_size_request(400, 400)
    description_view.load_html(description)
    container.add(title_label)
    container.add(link_button)
    container.add(description_view)
    container.show()
    title_label.show()
    link_button.show()
    description_view.show()
    return container
项目:Solfege    作者:RannyeriDev    | 项目源码 | 文件源码
def __init__(self, label):
        """
        We are abusing the Link button by not giving it a real uri.
        So let ut not even pretend to follow its api.
        """
        Gtk.LinkButton.__init__(self, label, label)
        self.get_children()[0].set_ellipsize(Pango.EllipsizeMode.END)
        self.get_children()[0].set_alignment(0.0, 0.5)

        def f(*w): return True
        self.connect('activate-link', f)
项目:draobpilc    作者:awamper    | 项目源码 | 文件源码
def populate(self):
        for link in self.item.links:
            button = Gtk.LinkButton()
            button.set_halign(Gtk.Align.START)
            button.set_label(link[0:40])
            button.set_tooltip_text(link)
            button.set_uri(link)
            button.connect('activate-link', lambda b: common.APPLICATION.hide())
            self._box.add(button)

        self._box.show_all()
项目:draobpilc    作者:awamper    | 项目源码 | 文件源码
def populate(self):
        for file_ in self.item.raw.split('\n'):
            button = Gtk.LinkButton()
            button.set_halign(Gtk.Align.START)
            button.set_label(file_[0:40])
            button.set_tooltip_text(file_)
            button.connect('activate-link', self._on_activate_file_link, file_)
            self._box.add(button)

        self._box.show_all()
项目:draobpilc    作者:awamper    | 项目源码 | 文件源码
def __init__(self):
        super().__init__()

        self.set_name('HistoriesManagerBox')
        self.set_orientation(Gtk.Orientation.HORIZONTAL)
        self.set_halign(Gtk.Align.END)
        self.set_valign(Gtk.Align.CENTER)
        self.set_hexpand(True)
        self.set_vexpand(False)

        self.link = Gtk.LinkButton()
        self.link.connect('activate-link', self._on_activate_link)
        self.link.set_label('...')
        self.link.set_tooltip_text(_('Open histories manager'))

        self._entry = Gtk.Entry()
        self._entry.set_placeholder_text(_('New history'))
        self._entry.set_icon_from_icon_name(
            Gtk.EntryIconPosition.PRIMARY,
            'list-add-symbolic'
        )
        self._entry.connect('activate', self._on_entry_activate)

        self._box = Gtk.Box()
        self._box.set_orientation(Gtk.Orientation.VERTICAL)
        self._box.add(self._entry)

        self.popover = Gtk.Popover()
        self.popover.set_relative_to(self.link)
        self.popover.add(self._box)

        self.add(self.link)

        gpaste_client.connect('SwitchHistory', self.update)
        gpaste_client.connect('DeleteHistory', self.update)
        self.update()
项目:GPU-Viewer    作者:arunsivaramanneo    | 项目源码 | 文件源码
def getLinkButtonImg(img,link,toolTip):
    Logbutton = Gtk.LinkButton(link)
    Logbutton.add(Gtk.Image.new_from_pixbuf(img))
    Logbutton.set_tooltip_text(toolTip)
    return Logbutton
项目:games_nebula_goglib_scripts    作者:yancharkin    | 项目源码 | 文件源码
def create_download_window(self):

        self.download_window = Gtk.Window(
            title = _("Konung 2: Blood of Titans"),
            type = Gtk.WindowType.TOPLEVEL,
            window_position = Gtk.WindowPosition.CENTER_ALWAYS,
            resizable = False,
            default_width = 360
            )
        self.download_window.connect('delete-event', self.quit_app)

        box = Gtk.Box(
            orientation = Gtk.Orientation.VERTICAL,
            margin_left = 10,
            margin_right = 10,
            margin_top = 10,
            margin_bottom = 10,
            spacing = 10
            )

        linkbutton_download = Gtk.LinkButton(
            label = _("Download resolution patch"),
            uri = link_patch
            )

        linkbutton_put = Gtk.LinkButton(
            label = _("Put it here"),
            uri = 'file://' + download_dir + '/_distr/konung_2_blood_of_titans'
            )

        button_install = Gtk.Button(label=_("Install"))
        button_install.connect('clicked', self.cb_button_install)

        box.pack_start(linkbutton_download, True, True, 0)
        box.pack_start(linkbutton_put, True, True, 0)
        box.pack_start(button_install, True, True, 0)

        self.download_window.add(box)
项目:games_nebula_goglib_scripts    作者:yancharkin    | 项目源码 | 文件源码
def create_download_window(self):

        self.download_window = Gtk.Window(
            title = _("Nosferatu: The Wrath of Malachi"),
            type = Gtk.WindowType.TOPLEVEL,
            window_position = Gtk.WindowPosition.CENTER_ALWAYS,
            resizable = False,
            default_width = 360
            )
        self.download_window.connect('delete-event', self.quit_app)

        box = Gtk.Box(
            orientation = Gtk.Orientation.VERTICAL,
            margin_left = 10,
            margin_right = 10,
            margin_top = 10,
            margin_bottom = 10,
            spacing = 10
            )

        linkbutton_download = Gtk.LinkButton(
            label = _("Download patch"),
            uri = link_patch
            )

        linkbutton_put = Gtk.LinkButton(
            label = _("Put it here"),
            uri = 'file://' + download_dir + '/_distr/nosferatu_wrath_of_malachi'
            )

        button_install = Gtk.Button(label=_("Install"))
        button_install.connect('clicked', self.cb_button_install)

        box.pack_start(linkbutton_download, True, True, 0)
        box.pack_start(linkbutton_put, True, True, 0)
        box.pack_start(button_install, True, True, 0)

        self.download_window.add(box)
项目:games_nebula_goglib_scripts    作者:yancharkin    | 项目源码 | 文件源码
def create_download_window(self):

        self.download_window = Gtk.Window(
            title = _("Desperados: Wanted Dead or Alive"),
            type = Gtk.WindowType.TOPLEVEL,
            window_position = Gtk.WindowPosition.CENTER_ALWAYS,
            resizable = False,
            default_width = 360
            )
        self.download_window.connect('delete-event', self.quit_app)

        box = Gtk.Box(
            orientation = Gtk.Orientation.VERTICAL,
            margin_left = 10,
            margin_right = 10,
            margin_top = 10,
            margin_bottom = 10,
            spacing = 10
            )

        linkbutton_download = Gtk.LinkButton(
            label = _("Download patch"),
            uri = link_patch
            )

        linkbutton_put = Gtk.LinkButton(
            label = _("Put it here"),
            uri = 'file://' + download_dir + '/_distr/desperados_wanted_dead_or_alive'
            )

        button_install = Gtk.Button(label=_("Install"))
        button_install.connect('clicked', self.cb_button_install)

        box.pack_start(linkbutton_download, True, True, 0)
        box.pack_start(linkbutton_put, True, True, 0)
        box.pack_start(button_install, True, True, 0)

        self.download_window.add(box)
项目:games_nebula_goglib_scripts    作者:yancharkin    | 项目源码 | 文件源码
def create_download_window(self):

        self.download_window = Gtk.Window(
            title = _("Konung: Legends of the North"),
            type = Gtk.WindowType.TOPLEVEL,
            window_position = Gtk.WindowPosition.CENTER_ALWAYS,
            resizable = False,
            default_width = 360
            )
        self.download_window.connect('delete-event', self.quit_app)

        box = Gtk.Box(
            orientation = Gtk.Orientation.VERTICAL,
            margin_left = 10,
            margin_right = 10,
            margin_top = 10,
            margin_bottom = 10,
            spacing = 10
            )

        linkbutton_download = Gtk.LinkButton(
            label = _("Download resolution patch"),
            uri = link_patch
            )

        linkbutton_put = Gtk.LinkButton(
            label = _("Put it here"),
            uri = 'file://' + download_dir + '/_distr/konung_legend_of_the_north'
            )

        button_install = Gtk.Button(label=_("Install"))
        button_install.connect('clicked', self.cb_button_install)

        box.pack_start(linkbutton_download, True, True, 0)
        box.pack_start(linkbutton_put, True, True, 0)
        box.pack_start(button_install, True, True, 0)

        self.download_window.add(box)
项目:dockyard    作者:maidstone-hackspace    | 项目源码 | 文件源码
def list_containers(self, container, container_info):
        """ fill list with all docker containers """
        items = {}
        glade_row = Gtk.Builder()
        glade_row.add_from_file('glade/label.glade')

        items['row'] = glade_row.get_object("list_row")
        items['row'].set_activatable(True)
        items['row'].set_name(container_info['Id'])

        items['title'] = glade_row.get_object("dockerTitle")
        items['title'].set_label('%s - %s' % (container_info['Name'][1:], container.get('Status')))

        items['image'] = glade_row.get_object("dockerStatus")
        items['image'].set_size_request(64, 64) # = glade_row.get_object("dockerStatus")
        items['uri_container'] = glade_row.get_object("uri_container")

        for uri in get_container_forwards(container_info):
            # Container Address
            linkbutton = Gtk.LinkButton(uri=uri, label=uri, xalign=0)
            items['uri_container'].pack_start(linkbutton, False, False, 0)
            #addresslabel = Gtk.Label(uri)
            #items['uri_container'].pack_start(addresslabel, False, False, 0)

        if container_info['State']['Paused']:
            items['image'].set_from_icon_name("gtk-media-pause", Gtk.IconSize.DIALOG)  # todo: find nice image
        elif container_info['State']['Running']:
            items['image'].set_from_stock("gtk-media-play", Gtk.IconSize.DIALOG)
        else:
            items['image'].set_from_stock("gtk-media-stop", Gtk.IconSize.DIALOG)

        items['switch'] = glade_row.get_object("dockerToggle")
        items['switch'].set_active(True==container_info['State']['Running'])
        items['switch'].connect('state-set', self.container_toggle_status, container)

        items['button'] = glade_row.get_object("dockerRemove")
        items['button'].connect('button_press_event', self.container_delete, items['row'], container)

        self.listbox.add(items['row'])
        items['row'].show_all()
        self.gui_rows[container['Id']] = items
项目:draobpilc    作者:awamper    | 项目源码 | 文件源码
def __init__(self, item):
        super().__init__()

        self.set_name('Infobox')
        self.set_halign(Gtk.Align.START)
        self.set_valign(Gtk.Align.END)
        self.set_orientation(Gtk.Orientation.HORIZONTAL)
        self.set_margin_left(5)
        self.set_margin_bottom(5)

        self._weakref = weakref.ref(item)

        if self.item.app_info:
            name = self.item.app_info.get_display_name()
            gicon = self.item.app_info.get_icon()

            if gicon:
                icon_theme = Gtk.IconTheme.get_default()
                icon_info = icon_theme.lookup_by_gicon(
                    gicon,
                    16,
                    Gtk.IconLookupFlags.FORCE_SIZE
                )
                if icon_info:
                    pixbuf = icon_info.load_icon()
                    icon = Gtk.Image()
                    icon.set_margin_right(5)
                    icon.set_from_pixbuf(pixbuf)
                    self.add(icon)

            if name:
                app_name = Gtk.LinkButton()
                app_name.connect('activate-link', self._on_activate_link)
                app_name.set_halign(Gtk.Align.START)
                app_name.set_name('AppNameLink')
                app_name.set_label(name)
                self.add(app_name)

                style_context = app_name.get_style_context()
                style_context.remove_class('text-button')
                style_context.remove_class('button')

        if self.item.info_string:
            label = Gtk.Label()
            label.set_margin_left(5)
            label.set_halign(Gtk.Align.START)
            label.set_markup(INFOSTRING_TEMPLATE % self.item.info_string)
            self.add(label)
项目:games_nebula_goglib_scripts    作者:yancharkin    | 项目源码 | 文件源码
def create_co8_std_window(self):

        self.co8_std_window = Gtk.Window(
            title = _("The Temple of Elemental Evil"),
            type = Gtk.WindowType.TOPLEVEL,
            window_position = Gtk.WindowPosition.CENTER_ALWAYS,
            resizable = False,
            default_width = 480
            )
        self.co8_std_window.connect('delete-event', self.hide_co8_std_window)

        box = Gtk.Box(
            orientation = Gtk.Orientation.VERTICAL,
            margin_top = 10,
            margin_bottom = 10,
            margin_left = 10,
            margin_right = 10,
            spacing = 10
            )

        linkbutton_download = Gtk.LinkButton(
            label = _("Download 'Circle of Eight Mopdack Standard Edition'"),
            uri = link_co8_modpack_std,
            )

        linkbutton_put = Gtk.LinkButton(
            label = _("Put it here"),
            uri = 'file://' + download_dir + '/_distr/the_temple_of_elemental_evil',
            )

        button_install = Gtk.Button(label=_("Install"))
        button_install.connect('clicked', self.cb_button_install_std)

        self.box_std = Gtk.Box(
            orientation = Gtk.Orientation.VERTICAL,
            spacing = 10
            )

        self.box_std.pack_start(linkbutton_download, True, True, 0)
        self.box_std.pack_start(linkbutton_put, True, True, 0)
        self.box_std.pack_start(button_install, True, True, 0)

        self.progressbar_std = Gtk.ProgressBar(
            hexpand = True,
            show_text = True,
            text = _("Processing..."),
            pulse_step = 0.1,
            no_show_all = True
            )

        box.pack_start(self.box_std, True, True, 0)
        box.pack_start(self.progressbar_std, True, True, 0)

        self.co8_std_window.add(box)
项目:games_nebula_goglib_scripts    作者:yancharkin    | 项目源码 | 文件源码
def create_co8_nc_window(self):

        self.co8_nc_window = Gtk.Window(
            title = _("The Temple of Elemental Evil"),
            type = Gtk.WindowType.TOPLEVEL,
            window_position = Gtk.WindowPosition.CENTER_ALWAYS,
            resizable = False,
            default_width = 480
            )
        self.co8_nc_window.connect('delete-event', self.hide_co8_nc_window)

        box = Gtk.Box(
            orientation = Gtk.Orientation.VERTICAL,
            margin_top = 10,
            margin_bottom = 10,
            margin_left = 10,
            margin_right = 10,
            spacing = 10
            )

        linkbutton_download = Gtk.LinkButton(
            label = _("Download 'Circle of Eight Mopdack New Content Edition'"),
            uri = link_co8_modpack_nc,
            )

        linkbutton_put = Gtk.LinkButton(
            label = _("Put it here"),
            uri = 'file://' + download_dir + '/_distr/the_temple_of_elemental_evil',
            )

        button_install = Gtk.Button(label=_("Install"))
        button_install.connect('clicked', self.cb_button_install_nc)

        self.box_nc = Gtk.Box(
            orientation = Gtk.Orientation.VERTICAL,
            spacing = 10
            )

        self.box_nc.pack_start(linkbutton_download, True, True, 0)
        self.box_nc.pack_start(linkbutton_put, True, True, 0)
        self.box_nc.pack_start(button_install, True, True, 0)

        self.progressbar_nc = Gtk.ProgressBar(
            hexpand = True,
            show_text = True,
            text = _("Processing..."),
            pulse_step = 0.1,
            no_show_all = True
            )

        box.pack_start(self.box_nc, True, True, 0)
        box.pack_start(self.progressbar_nc, True, True, 0)

        self.co8_nc_window.add(box)