複製從剪貼板中的內容時,我正在寫一個Python腳本,將檢查剪貼板中的內容,並將它們打印在控制檯中。以下是我正在使用的腳本。Tkinter的錯誤在Python
import time
from tkinter import Tk
while True:
r = Tk()
result = r.selection_get(selection="CLIPBOARD")
print(result)
time.sleep(2)
當我運行它,而不復制任何文字,我得到下面的錯誤:
return self.tk.call(('selection', 'get') + self._options(kw))
_tkinter.TclError: CLIPBOARD selection doesn't exist or form "STRING" not defined
我明白,它表現爲有剪貼板沒有內容。一旦複製任何文本後,代碼運行良好。爲了克服這個問題,我重寫了代碼以下列方式:
import time
from tkinter import Tk
r = Tk()
x = 1
while x < 2:
r.clipboard_clear()
r.clipboard_append("Starter Text")
x += 1
while True:
r.clipboard_clear()
result = r.selection_get(selection="CLIPBOARD")
print(result)
time.sleep(2)
我寫了這個,這樣我可以通過在剪貼板首發文本開始文件。這將有助於停止錯誤。即使它阻止了發生的錯誤,代碼現在也會重複打印「Starter Text」。即使將內容複製到剪貼板後,它們似乎也不會被打印出來。
我能如何避免錯誤,同時提出了一些建議打印值每當我的東西複製到剪貼板。
你「開頭文字」招實際上並沒有解決這個問題 - 如果用戶使用你的程序運行時要複印的圖像或其他非文本項目複製到剪貼板?當剪貼板上沒有文本時,您需要使用'try' /'except'來捕捉並忽略錯誤。我不知道爲什麼你沒有看到變化到剪貼板 - 也許主循環需要的Tkinter來運行這個工作。 – jasonharper