2017-06-06 8 views
0

Existe-t-il un moyen de faire un simple "copier-coller" dans Pyglet?Pyglet copier et coller un texte dans un objet IncrementalTextLayout()

Je dois copier un texte (Ctrl + C) et coller (Ctrl + v ) dans un objet IncrementalTextLayout() dans Pyglet, est-ce possible? J'utilise Python 3.4, Pyglet 1.2.4 et je cours sous Windows. J'utilise Python 3.4, Pyglet 1.2.4.

Exemple de code:

import pyglet 

if __name__ == "__main__": 
    window = pyglet.window.Window(617, 200) 
    batch = pyglet.graphics.Batch() 
    document = pyglet.text.document.FormattedDocument("Colar texto aqui!") 
    document.set_style(0, len(document.text), dict(font_name='Arial', font_size=25, color=(255, 255, 255, 255))) 
    layout = pyglet.text.layout.IncrementalTextLayout(document, 300, 50, batch=batch) 
    caret = pyglet.text.caret.Caret(layout, color=(255, 255, 255)) 
    window.push_handlers(caret) 

    @window.event 
    def on_draw(): 
     """Desenha a tela.""" 
     window.clear() 
     batch.draw() 
     window.push_handlers(caret) 

    pyglet.app.run() 
+0

Vous pouvez lire [help/on-topic], [ask] et [mcve]. – boardrider

+0

@boardrider question éditée. –

+0

On ne sait pas si vous avez besoin de copier et coller du texte dans votre éditeur de texte, ou si vous voulez créer du code Python qui vous donnera la fonctionnalité de copier-coller. – boardrider

Répondre

0

Un autre développeur a résolu ce avec le Pyperclip et mettre vos fonctions dans la méthode on_key_press de la fenêtre Pyglet. Suivez le code ci-dessous:

def on_key_press(self, symbol, modifiers): 
    if modifiers is 18 and pyglet.window.key.MOD_CTRL and int(symbol) is pyglet.window.key.V: 
     if self.input_text: 
      self.on_text(pyperclip.paste()) 

    elif modifiers is 18 and pyglet.window.key.MOD_CTRL and int(symbol) is pyglet.window.key.C: 
      pyperclip.copy(self.input_text.document.text)