当前位置: 首页>>代码示例>>Python>>正文


Python repository.Gtk方法代码示例

本文整理汇总了Python中gi.repository.Gtk方法的典型用法代码示例。如果您正苦于以下问题:Python repository.Gtk方法的具体用法?Python repository.Gtk怎么用?Python repository.Gtk使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在gi.repository的用法示例。


在下文中一共展示了repository.Gtk方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: load_pixbuf

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def load_pixbuf(icon_name, size):
    pixbuf = None
    theme = Gtk.IconTheme.get_default()
    if icon_name:
        try:
            icon_info = theme.lookup_icon(icon_name, size, 0)
            if icon_info:
                pixbuf = icon_info.load_icon()
        except GLib.Error:
            pass
    if not pixbuf:
        pixbuf = theme.load_icon("com.github.bilelmoussaoui.Authenticator",
                                 size, 0)

    if pixbuf and (pixbuf.props.width != size or pixbuf.props.height != size):
        pixbuf = pixbuf.scale_simple(size, size,
                                     GdkPixbuf.InterpType.BILINEAR)
    return pixbuf 
开发者ID:bilelmoussaoui,项目名称:Authenticator,代码行数:20,代码来源:utils.py

示例2: get_icon_by_name

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def get_icon_by_name(name, size=256):
    try:
        gi.require_version('Gtk', '3.0')
        from gi.repository import Gtk
    except:
        raise MissingDependencies(
            'Unable to lookup system icons!',
            ['gir1.2-gtk-3.0']
        )

    icon_theme = Gtk.IconTheme.get_default()
    icon = icon_theme.lookup_icon(name, size, 0)
    if icon:
        file_path = icon.get_filename()
        _type = get_type_by_filepath(file_path)
        return _type(file_path)
    else:
        raise IconNotFound(name) 
开发者ID:masmu,项目名称:pulseaudio-dlna,代码行数:20,代码来源:images.py

示例3: init_gi_clipboard

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def init_gi_clipboard():
    import gi
    gi.require_version('Gtk', '3.0')
    from gi.repository import Gtk, Gdk
    cb = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)

    def copy_gi(text):
        cb.set_text(text, -1)
        cb.store()

    def paste_gi():
        clipboardContents = cb.wait_for_text()
        # for python 2, returns None if the clipboard is blank.
        if clipboardContents is None:
            return ''
        else:
            return clipboardContents

    return copy_gi, paste_gi 
开发者ID:mass-immersion-approach,项目名称:MIA-Dictionary-Addon,代码行数:21,代码来源:Pyperclip.py

示例4: async_call

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def async_call(func, *args, callback=None):
    '''Call `func` in background thread, and then call `callback` in Gtk main thread.

    If error occurs in `func`, error will keep the traceback and passed to
    `callback` as second parameter. Always check `error` is not None.
    '''
    def do_call():
        result = None
        error = None

        try:
            result = func(*args)
        except Exception:
            error = traceback.format_exc()
            logger.error(error)
        if callback:
            GLib.idle_add(callback, result, error)

    thread = threading.Thread(target=do_call)
    thread.daemon = True
    thread.start() 
开发者ID:XuShaohua,项目名称:bcloud,代码行数:23,代码来源:gutil.py

示例5: __init__

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def __init__(self):
        """Initialization method of :class:`dragonfire.stray.SystemTrayIcon` class.
        """

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

        self.icon = self.Gtk.StatusIcon()
        self.icon.set_title("Dragonfire")
        if os.path.isfile(TRAY_ICON):
            self.icon.set_from_file(TRAY_ICON)
        else:
            self.icon.set_from_file(DEVELOPMENT_DIR + TRAY_ICON_ALT)
        self.icon.connect('popup-menu', self.popup_menu)
        self.Gtk.main() 
开发者ID:DragonComputer,项目名称:Dragonfire,代码行数:19,代码来源:stray.py

示例6: popup_menu

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def popup_menu(self, icon, button, time):
        """Method to display a popup menu whenever user clicked to the system tray icon.

        Args:
            icon:       Icon instance.
            button:     Button instance.
            time:       Timestamp.
        """

        self.menu = self.Gtk.Menu()

        menuitemDragonfire = self.Gtk.MenuItem(label="Dragonfire")
        self.menu.append(menuitemDragonfire)
        menuitemDragonfire.set_sensitive(False)

        menuitemSeperator = self.Gtk.SeparatorMenuItem()
        self.menu.append(menuitemSeperator)

        menuitemExit = self.Gtk.MenuItem(label="Exit")
        menuitemExit.connect_object("activate", self.exit, "Exit")
        self.menu.append(menuitemExit)
        self.menu.show_all()

        self.menu.popup(None, None, None, None, button, time) 
开发者ID:DragonComputer,项目名称:Dragonfire,代码行数:26,代码来源:stray.py

示例7: clear

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def clear():
        """Clear the clipboard."""
        clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
        clipboard.clear() 
开发者ID:bilelmoussaoui,项目名称:Authenticator,代码行数:6,代码来源:clipboard.py

示例8: set

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def set(string):
        """
        Copy a string to the clipboard.

        :param string: the string to copy.
        :type string: str
        """
        clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
        clipboard.set_text(string, -1) 
开发者ID:bilelmoussaoui,项目名称:Authenticator,代码行数:11,代码来源:clipboard.py

示例9: __init__

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def __init__(self):
        self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) 
开发者ID:chr314,项目名称:nautilus-copy-path,代码行数:4,代码来源:nautilus_copy_path.py

示例10: __init__

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def __init__(self):
        builder = Gtk.Builder.new_from_resource(UI_PATH + 'headerbar.ui')
        self.header_bar = builder.get_object('header_bar')
        self.menu_button = builder.get_object('menu_button')

        self.select_button = builder.get_object('select_button')
        self.pencil_button = builder.get_object('pencil_button')

        builder.add_from_resource(UI_PATH + 'menu.ui')
        self.window_menu = builder.get_object('window-menu')

        self.menu_button.set_menu_model(self.window_menu) 
开发者ID:ImEditor,项目名称:ImEditor,代码行数:14,代码来源:headerbar.py

示例11: __init__

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def __init__(self, useGtk=False):
        _gtk = None
        if useGtk is True:
            from gi.repository import Gtk as _gtk

        _glibbase.GlibReactorBase.__init__(self, GLib, _gtk, useGtk=useGtk) 
开发者ID:proxysh,项目名称:Safejumper-for-Desktop,代码行数:8,代码来源:gireactor.py

示例12: configure_gtk

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def configure_gtk(self):
        theme_path = self.get_theme_path()
        if not theme_path:
            raise ValueError("GTK theme 'RAFCON' does not exist")

        theme_name = "RAFCON"
        dark_theme = self.get_config_value('THEME_DARK_VARIANT', True)

        # GTK_DATA_PREFIX must point to a path that contains share/themes/THEME_NAME
        gtk_data_prefix = os.path.dirname(os.path.dirname(os.path.dirname(theme_path)))
        os.environ['GTK_DATA_PREFIX'] = gtk_data_prefix
        os.environ['GTK_THEME'] = "{}{}".format(theme_name, ":dark" if dark_theme else "")

        # The env vars GTK_DATA_PREFIX and GTK_THEME must be set before Gtk is imported first to prevent GTK warnings
        # from other themes
        try:
            from gi.repository import Gtk
            settings = Gtk.Settings.get_default()
            if settings:
                settings.set_property("gtk-enable-animations", True)
                settings.set_property("gtk-theme-name", theme_name)
                settings.set_property("gtk-application-prefer-dark-theme", dark_theme)

            Gtk.Window.set_default_icon_name("rafcon" if dark_theme else "rafcon-light")
        except ImportError:
            pass 
开发者ID:DLR-RM,项目名称:RAFCON,代码行数:28,代码来源:config.py

示例13: test_clipboard

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def test_clipboard(self):
        """Copy image name to clipboard."""
        def compare_text(clipboard, text, expected_text):
            self.compare_result = False
            self.compare_result = text == expected_text
        name = self.vimiv.get_pos(True)
        basename = os.path.basename(name)
        abspath = os.path.abspath(name)
        clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
        primary = Gtk.Clipboard.get(Gdk.SELECTION_PRIMARY)
        # Copy basename and abspath to clipboard
        self.vimiv["clipboard"].copy_name(False)
        # Check if the info message is displayed correctly
        self.check_statusbar("INFO: Copied " + basename + " to clipboard")
        clipboard.request_text(compare_text, basename)
        self.assertTrue(self.compare_result)
        self.vimiv["clipboard"].copy_name(True)
        clipboard.request_text(compare_text, abspath)
        self.assertTrue(self.compare_result)
        # Toggle to primary and copy basename
        self.run_command("set copy_to_primary!")
        self.vimiv["clipboard"].copy_name(False)
        primary.request_text(compare_text, basename)
        self.assertTrue(self.compare_result)
        # Toggle back to clipboard and copy basename
        self.run_command("set copy_to_primary!")
        self.vimiv["clipboard"].copy_name(False)
        clipboard.request_text(compare_text, basename)
        self.assertTrue(self.compare_result) 
开发者ID:karlch,项目名称:vimiv,代码行数:31,代码来源:fileactions_test.py

示例14: get

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def get(icon: str) -> str:
    """
    :param icon:
    :return: icon name and path
    """
    if icon is None:
        icon = not_found(icon)

    EXTENSIONS = (".png", ".svg")
    if icon.endswith(EXTENSIONS):
        # if image has full icon path return icon.
        if icon.startswith("/"):
            return icon  
        # if image has icon name and extension, but no path.
        else:
            for ext in EXTENSIONS:
                if icon.endswith(ext):
                    icon = icon.replace(ext, '')
                
    icon_theme = Gtk.IconTheme.get_default()
    if not icon_theme.has_icon(icon):
        # check for icon in pixmaps directory.
        pixmaps = f"/usr/share/pixmaps/{icon}"
        for ext in EXTENSIONS:
            if os.path.isfile(f"{pixmaps}{ext}"):
                return f"{pixmaps}{ext}"
                        
    SIZES = (64, 48, 32, 24)
    for size in SIZES:
        icon_name = icon_theme.lookup_icon(icon, size, 0)
        if icon_name:
            return icon_name.get_filename()
        
    icon = not_found(icon)
    return icon 
开发者ID:codesardine,项目名称:Jadesktop,代码行数:37,代码来源:Icons.py

示例15: __init__

# 需要导入模块: from gi import repository [as 别名]
# 或者: from gi.repository import Gtk [as 别名]
def __init__(self):
            self._clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
            self._selection = Gtk.Clipboard.get(Gdk.SELECTION_PRIMARY) 
开发者ID:autokey,项目名称:autokey,代码行数:5,代码来源:interface.py


注:本文中的gi.repository.Gtk方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。