我尝试了多种不同的方法,并在此处搜索了该主题,但是找不到解决方案。代码运行正常,但是当我尝试将复制的内容粘贴到剪贴板时,我粘贴的程序将停止响应。关闭Python应用程序后,程序会再次开始响应,但是剪贴板为空。这是用于学校作业,它只需要我使用Python安装随附的工具,而无需使用Pyperclip之类的工具。
这是我正在使用的代码:
from tkinter import Tk
r = Tk()
r.withdraw()
r.clipboard_clear()
r.clipboard_append('This is a test to try to copy to clipboard')
r.update()
r.destroy()
答案 0 :(得分:1)
谢谢大家,经过大量的额外搜索,我能够找到所需的答案。我发现的解决方案是使用import os
并将文本添加到| clip
shell命令中。
我最初担心这是不安全的,因为用户可以输入一个shell命令作为要复制到剪贴板的文本,但是我意识到,由于这是一个计算器程序,因此它应该具有输入验证功能以不接受任何非-无论如何,通过数字输入即可解决该问题。
这是我在程序中最终使用的功能:
def clipboard(text):
cmd = 'echo | set /p nul=' + str(text) + '| clip'
os.system(cmd)
答案 1 :(得分:0)
使用剪贴板方法内置的tkinters不能执行此操作。 Tkinter需要保持活动状态,以便剪贴板保留内容。如果您在与添加剪贴板相同的循环中关闭实例,则最终会丢失剪贴板中的内容。至少这是Tkinters内置方法的行为。
您可以pip install clipboard
并使用其方法。即使Tkinter关闭,这也将内容保留在剪贴板上。
from tkinter import Tk
import clipboard as cb
r = Tk()
r.withdraw()
cb.copy('This is a test to try to copy to clipboard')
r.destroy()
答案 2 :(得分:0)
尝试使用pyperclip例如
import pyperclip
pyperclip.copy(“hello”)
#copies hello into the clipboard
查看官方的pyperclip文档,网址为 https://pyperclip.readthedocs.io/en/latest/introduction.html
答案 3 :(得分:-1)
UInt32 retcode =
processClass.InvokeMethod(
"Create", methodArgs);
UInt32 pid = methodArgs[3];