sni*_*tur 5 python clipboard tkinter
我正在尝试从 Windows 剪贴板中获取一个字符串并将其粘贴到 Tkinter GUI 中的列表框中。在尝试复制图像之前它效果很好。
clipboardData = root.selection_get(selection="CLIPBOARD")
listbox.insert(0, clipboardData)
Run Code Online (Sandbox Code Playgroud)
我尝试过使用 Tkinter、pyperclip 和剪贴板。如何避免非文本内容?
使用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.
Run Code Online (Sandbox Code Playgroud)