python - 如果 x 相同,如何不打印?

标签 python variables tkinter clipboard pyperclip

我是Python的新手。我想创建一个程序,当您将某些内容复制到剪贴板时,它会将其“打印”在“应用程序”上。它可以工作,但问题是每两秒它就会显示您 2 小时前复制的内容。我希望当剪贴板相同时,它只显示一次,然后等到您复制其他内容为止。 这就是我到目前为止所拥有的

import pyperclip
from tkinter import *

r = Tk()
def aper():
    global x
    x = pyperclip.waitForPaste()
    Label(r, text = x).pack()
    r.after(2000, aper)
    
r.after(2000, aper)
r.mainloop()

谢谢!

最佳答案

您可以创建一个名为 old_x 的变量,将 x 的最后一个值存储在其中,并在 Label 行周围放置一个 if 语句,以便仅在 x 不是 old_x 时才打印

import pyperclip
from tkinter import *

r = Tk()
def aper():
    global x
    global old_x
    x = pyperclip.waitForPaste()
    if x != old_x:
        Label(r, text = x).pack()
        old_x = x
    r.after(2000, aper)

old_x = None
r.after(2000, aper)
r.mainloop()

关于python - 如果 x 相同,如何不打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66856485/

相关文章:

python 小数 - 四舍五入到最接近的整数美元(无美分) - 使用 ROUND_HALF_UP

python - 尝试超出顶级包的相对导入?

php:在将输入数据插入mysql数据库之前清除输入数据

python - 我可以更改 Tkinter 中的标题栏吗?

python - 如何使用 python 中的 selenium 将图像上传到该网站

Python setuptools install_requires 错误

c - 如何限制 C 中另一个进程或函数使用(写/读)文件的访问?

variables - 在 include_role 中检测到更改时通知处理程序或注册 ansible 变量?

python - Tkinter 按钮背景颜色在 mac os 中不起作用

python - tkinter:如何修复窗口,以便当我的内容调整大小时窗口不会调整大小?