-1

我是编程新手,我试图制作一个简单的程序来替换我复制的内容,当它的长度超过 10 个字符时,这是代码:

import pyperclip
import tkinter as Tk
while True:
 r = Tk()
 r.withdraw()
 try:
      selection = r.selection.get(selection="CLIPBOARD")
 except tk.TclError:
      selection = None
      sleep(0.1)

 try:
     selection = r.selection.get(selection="CLIPBOARD")
 except tk.TclError:
     selection = None
     r.clipboard_clear()
     if len(result) > 10:
       pyperclip.copy("aaa")

但它给了我这个错误:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
TypeError: 'module' object is not callable
>>>

我知道这可能与 tkinter 模块有关,但我真的不知道它是什么或如何解决它。

4

2 回答 2

2

您正在尝试调用Tk这实际上是tkinter模块的别名。在这种情况下,您想要做的是:

r = Tk.Tk()
import pyperclip
import tkinter as Tk
while True:
 r = Tk.Tk()
 r.withdraw()
 try:
      selection = r.selection.get(selection="CLIPBOARD")
 except tk.TclError:
      selection = None
      sleep(0.1)

 try:
     selection = r.selection.get(selection="CLIPBOARD")
 except tk.TclError:
     selection = None
     r.clipboard_clear()
     if len(result) > 10:
       pyperclip.copy("aaa")
于 2020-04-20T16:23:05.867 回答
0

Tk 是一个模块,基本上,它是 tkinter 模块,只是你在代码中以另一个名称调用它。这就是为什么你不能这样做Tk()。您可能想要执行以下操作:

r = Tk.NameOfClass()

或者

from Tkinter import NameOfClass

将 NameOfClass 替换为您要使用的类的名称。

于 2020-04-20T16:25:33.793 回答