2017-06-06 24 views
0

Pygletで簡単な「コピー&ペースト」を行う方法はありますか?私はPygletでIncrementalTextLayout()オブジェクトにテキスト(Ctrl + C)とペースト(Ctrl + V )、それをコピーする必要がありPygletは、IncrementalTextLayout()オブジェクトにテキストをコピーして貼り付けます

、これは可能ですか?

私はPython 3.4、Pyglet 1.2.4を使用していますが、私はWindows上で動作します。

コード例:

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

あなたは[ヘルプ/ on-topic]、[ask]、[mcve]を読むことができます。 – boardrider

+0

@boardrider question editaded。 –

+0

テキストエディタにテキストをカットアンドペーストする必要があるのか​​、カットアンドペーストの機能を提供するPythonコードを作成するのかは不明です。 – boardrider

答えて

0

別の開発者がPyperclipでこれを解決し、Pygletウィンドウのon_key_press方法であなたの関数を置きます。以下のコードに従ってください:

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) 
関連する問題