我试图从Windows剪贴板中取一个字符串并将其粘贴到Tkinter GUI的列表框中。在尝试复制图像之前,它很有效。
clipboardData = root.selection_get(selection="CLIPBOARD")
listbox.insert(0, clipboardData)
我曾尝试使用Tkinter,pyperclip和剪贴板。如何避免非文本内容?
答案 0 :(得分:0)
使用Tkinter
,我会使用try..except
块来insert
存在的剪贴板数据,并忽略它不在的地方(或者,可选地,添加一些默认值)值)。这并不是专门撤销任何图像类型的剪贴板内容,但它将拒绝任何不符合myTkObject.clipboard_get()
预期格式的内容。默认情况下,这是一个字符串,但您可以使用函数type
关键字参数进行更改。
这是一个以Nodak和jonrsharpe的回答和评论为基础的例子:
from Tkinter import Tk
myTkObject = Tk()
try:
listbox.insert(0, myTkObject.clipboard_get())
except Tkinter.TclError:
pass # Instead of do-nothing, you can insert some default value if you like.