【Python GUI tkinterサンプル】クリップボード(clipboard)の値をテキストボックス(ttk.Entry)に反映する

<tkinterトップページに戻る>

使用するメソッド

clipboard_get()

使い方

・widget.clipboard_get()で現在クリップボードに入っている値を取得できる。

※widget.clipboard_clear()でクリップボードの内容を削除することができる。

※widget.clipboard_append()でクリップボードに値を追加できる。

サンプル画像

inputのテキストボックスの文字列を「Ctrl」+「C」でコピー

clipboard_0

pasteボタンを押下すると下のテキストボックスにクリップボードの値が出力される

clipboard_1

 

サンプルコード

from tkinter import *
import tkinter.ttk as ttk

class clipboardSample(ttk.Frame):


    def __init__(self, master):
        super().__init__(master)
        self.pack()
        self.inputValue = StringVar(value="Sample")
        self.outputValue = StringVar()
        self.create_widgets()


    def create_widgets(self):
        inputframe = ttk.Labelframe(self)
        inputframe.pack()
        entry = ttk.Entry(inputframe,textvariable=self.inputValue,state="readonly")
        entry.pack(side="left")
        pasteButton = ttk.Button(inputframe,text="paste",command = self.clipboardCommand)
        pasteButton.pack(side="left")
        output = ttk.Entry(self,textvariable=self.outputValue,state="readonly")
        output.pack()

    def clipboardCommand(self):
        self.outputValue.set(self.clipboard_get())


if __name__ == '__main__':
    master  = Tk()
    master.geometry("600x400")
    master.title("clipboardSample")
    clipboardSample(master)
    master.mainloop()

あわせて読みたい