我们从Python开源项目中,提取了以下14个代码示例,用于说明如何使用gi.repository.Gdk.SELECTION_CLIPBOARD。
def copy_code(self, *args): """ Copy code shows the code box for a while (10s by default) """ self.timer = 0 code = self.account.get_code() try: clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) self.window.notification.set_message( _('Code "{0}" copied to clipboard'.format(str(code)))) self.window.notification.show() clipboard.clear() clipboard.set_text(code, len(code)) logging.debug("Secret code copied to clipboard") except Exception as e: logging.error(str(e)) self.revealer.set_reveal_child(True) GLib.timeout_add_seconds(1, self.update_timer)
def get_clipboard_html(): """returns html in clipboard, if any""" if 'darwin' in sys.platform: if NSPasteboard is None: raise Exception('AppKit not found, first run `pip install pyobjc`') pb = NSPasteboard.generalPasteboard() return pb.stringForType_('public.html') elif 'linux' in sys.platform: if Gtk is None: raise Exception('Could not import GTK, is it installed on this system?') cb = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) html_target = Gdk.Atom.intern('text/html', False) targets = cb.wait_for_targets()[1] if html_target not in targets: return None return cb.wait_for_contents(html_target).get_data() else: raise Exception('Platform "{}" is not supported'.format(sys.platform))
def on_quit(self, *args): """ Close the application, stops all threads and clear clipboard for safety reasons """ try: clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) clipboard.clear() except Exception as e: logging.error(str(e)) if self.win: self.win.save_window_state() self.win.destroy() self.quit()
def copy_text_to_clipboard(text): # get the clipboard clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) # put the FEN data on the clipboard clipboard.set_text(text, -1) # make our data available to other applications clipboard.store()
def get_text_from_clipboard(): # get the clipboard clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) # read the text from the clipboard text = clipboard.wait_for_text() return text
def __init__(self, parent): Gtk.Dialog.__init__(self, "File Dialog", parent, 0, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OK, Gtk.ResponseType.OK)) self.set_default_size(500, 550) box = self.get_content_area() self.verticalbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=3) box.add(self.verticalbox) self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) from_file = Gtk.Button("From File") from_file.connect("clicked", self.on_file) from_clipboard = Gtk.Button("Clipboard") from_clipboard.connect("clicked", self.on_clipboard) hbox1 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=True) hbox1.pack_start(from_file, True, True, 0) hbox1.pack_start(from_clipboard, True, True, 0) self.verticalbox.pack_start(hbox1, False, False, 0) # Just holding the Place for real treeview widget self.scrollable_treelist = Gtk.Label() self.verticalbox.pack_start(self.scrollable_treelist, True, True, 0) self.show_all()
def __on_copy_activate(self, widget): """ Provides dirty clipboard hack to get selection from inside of WebKit :param widget: """ primary_selection = Gtk.Clipboard.get(Gdk.SELECTION_PRIMARY) selection_clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) # It does wait some short time for that text, it seems to update every now and then # Can get selection from anywhere in the system, no real way to tell selection_clipboard.set_text(primary_selection.wait_for_text(), -1)
def update_clipboard(self, text): '''?????????????''' clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) clipboard.set_text(text, -1) self.toast(_('{0} copied to clipboard'.format(text)))
def connect(self): # Connect function self.win.connect('key_release_event', self.on_key_pressed) # File menu self.builder.get_object("menu_file_new").connect("activate", self.new) self.builder.get_object("menu_file_open").connect("activate", self.open) self.builder.get_object("menu_file_save").connect("activate", self.save) self.builder.get_object("menu_file_save-as").connect("activate", self.save_as) self.builder.get_object("menu_file_exit").connect("activate", self.exit) #Edit menu self.builder.get_object("menu_edit_format").connect("activate",self.format) self.builder.get_object("menu_edit_cut").connect("activate", self.cut) self.builder.get_object("menu_edit_copy").connect("activate", self.copy) self.builder.get_object("menu_edit_paste").connect("activate", self.paste) #View menu self.builder.get_object("menu_view_gas").connect("activate", self.show_gas) #Compile button self.builder.get_object("compile_button").connect("pressed", self.compile) #Copy web3 button self.builder.get_object("button_copy").connect("pressed", self.copy_web3) #Buffer self.buff[self.ws] = self.builder.get_object("code") self.buff[self.ws].connect("changed", self.changed) self.tags = get_tags(self.buff[self.ws]) self.cb =Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) # END Connect function
def __init__(self): # create a new window window = Gtk.Window() window.set_position(Gtk.WindowPosition.CENTER) window.set_name('window') window.set_title("Input Helper") window.set_decorated(False) window.set_default_size(300, 40) window.connect("destroy", self.destroy) self.entry = Gtk.Entry() self.entry.set_name('entry') self.entry.connect("key_press_event", self.on_key_press) self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) style_provider = Gtk.CssProvider() base_dir = os.path.abspath(os.path.dirname(__file__)) css_path = os.path.join(base_dir, 'input_paste.css') style_provider.load_from_file(Gio.File.new_for_path(css_path)) Gtk.StyleContext.add_provider_for_screen( Gdk.Screen.get_default(), style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION ) window.add(self.entry) window.show_all()
def on_pastego(widget): clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) text = clipboard.wait_for_text() if text != None: widget.set_text(text) widget.activate() return True
def __init__(self): self.builder = Gtk.Builder() self.builder.add_from_file("simpletexteditor.glade") self.builder.connect_signals(self) self.window = self.builder.get_object("window") self.textview = self.builder.get_object("textview") self.textbuffer = self.builder.get_object("textbuffer") self.about = self.builder.get_object("about_page") self.fileopen = self.builder.get_object("fileopen") self.filesave = self.builder.get_object("filesave") self.fontchooser = self.builder.get_object("fontchooser") # notsave is msgdialog for asking # if user wants to save current textbuffer self.notsave = self.builder.get_object("notsave") self.notsavetwo = self.builder.get_object("notsavetwo") self.currentfile = "" self.path = pathlib.PurePath(self.currentfile) if self.path.parts: self.window.set_title(self.path.parts[-1]) else: self.window.set_title("Untitled document") self.filechanged = False self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
def on_drag_data_get( self, widget, context, selection, targetType, time ): if targetType == self.TARGET_TYPE_FAV: selection.set(Gdk.SELECTION_CLIPBOARD, 8, str(widget.position))
def pass_generator(self): if self.tabs[self.current_page][0]\ .scrolled_window.get_name() != "webview": return True window = build_window(self, 0, 0) window.set_titlebar(build_headerbar(_("Password Generator"), None, 1)) entry = make_box("{} (Def: 32) (Max: 99999)".format(_("Password Length")), 5, 1) button = Gtk.Button(label=_("Generate")) copy = Gtk.Button(label=_("Copy")) result = Gtk.TextView() result.set_top_margin(10) result.set_left_margin(10) result.set_wrap_mode(Gtk.WrapMode.WORD) scrolled_window = Gtk.ScrolledWindow() scrolled_window.set_shadow_type(Gtk.ShadowType.IN) scrolled_window.set_size_request(400, 200) scrolled_window.add(result) bt_grid = Gtk.Grid() bt_grid.set_column_spacing(10) bt_grid.attach(button, 1, 0, 1, 1) bt_grid.attach(copy, 2, 0, 1, 1) bt_grid.set_column_homogeneous(True) grid = Gtk.Grid() grid.attach(entry, 0, 0, 1, 1) grid.attach(scrolled_window, 0, 1, 1, 1) grid.attach(bt_grid, 0, 2, 1, 1) entry.set_property("margin-bottom", 15) bt_grid.set_property("margin-top", 15) grid.set_property("margin", 15) window.add(grid) window.show_all() clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) for i in entry: if type(i) == Gtk.Entry: entry = i button.connect("clicked", lambda x: pass_generate(entry.get_text(), 32, result)) copy.connect("clicked", lambda x: clipboard.set_text(result.get_buffer().\ get_text(result.get_buffer().get_start_iter(),result.get_buffer().get_end_iter(), False), -1))