Ich habe versucht, einen Kreis (der eigentlich ein Mauszeiger sein soll) auf ein Etikett zu zeichnen, auf dem sich ein Bild befindet. die Kreisposition muss jedes Mal geändert werden, wenn ich es an den Sockeln bekomme ich bemerkte die Mausposition mit ** auf meinem Code ich weiß nicht, wie es geht, ich werde froh sein, wenn Sie mir helfen, vielen DankWie zeichne ich einen Kreis auf einem Etikett auf Tkinter?
import socket
from PIL import Image
import StringIO
import Tkinter
from PIL import Image
from PIL import ImageTk
import threading
RECV_BLOCK=1024
s=socket.socket()
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.connect(("127.0.0.1",12345))
im = None
def ShowImage():
root = Tkinter.Tk()
label = Tkinter.Label(root)
label.pack()
img = None
tkimg = [None] # This, or something like it, is necessary because if you do not keep a reference to PhotoImage instances, they get garbage collected.
delay = 2 # in milliseconds
def loopCapture():
print "capturing"
# img = fetch_image(URL,USERNAME,PASSWORD)
global im
while im==None:
continue
img = im
tkimg[0] = ImageTk.PhotoImage(img)
label.config(image=tkimg[0])
root.update_idletasks()
root.after(delay, loopCapture)
loopCapture()
root.mainloop()
def rcvimage():
global im
for i in range(1000):
data=''
size=s.recv(RECV_BLOCK)
s.send(size)
size=int(size)
while True:
buf=s.recv(RECV_BLOCK)
data+=buf
if len(data)>=size:
break
pic =data[:data.find("$$$$$$")]
mouse=data[data.find("$$$$$$")+6:] # **the position of the cursor is here - for example ("125$200") - the first number is x, and the second is y**
print mouse
try:
print(len(pic))
f=StringIO.StringIO(pic)
global im
im=Image.open(f)
#ShowImage(im)
#im.show()
s.send ("next")
except Exception as e:
s.send("fail:"+e.message)
break
print "End"
thread2 = threading.Thread(target = rcvimage)
thread1 = threading.Thread(target = ShowImage)
thread1.start()
thread2.start()
Was ist die Konfigurationsmethode? Wie kann ich die Maus damit zeichnen? Ich muss etwas bauen, das die Maus jedes Mal zeichnen wird, wenn er die Position erreicht, es muss ein Teil eines Screen-Share-Projekts sein –