Új hozzászólás Aktív témák
-
cadtamas
tag
válasz
slyder81 #996 üzenetére
Próbáld meg ezzel:
def mouseDown(self, event):
self.currObject =None
self.x1, self.y1 = event.x, event.y
self.selObject = self.c.find_closest(self.x1, self.y1)
sel.tags = self.c.gettags(self.selObject) #Kiolvassuk a tag-et
if self.tags=='kor': #talán vedd hozzá hogy 'current' ha nem működik rendesen
self.c.itemconfig(self.selObject,width =3)
self.c.lift(self.selObject)
else:
self.currObject =None #így már elvileg nem fogja mozgatni -
cadtamas
tag
válasz
slyder81 #991 üzenetére
Én ugyan nem vagyok szakértő a témában, nagyjából ugyanott tartok a programozásban, mint te, de az a probléma, hogy mint objektum van behelyezve a háttér gif a vászonra.
Ne adj neki nevet és akkor nem lesz szerintem gond.Nem tudom kipróbálni, de én valami ilyennel próbálkoznék:
class Draw(Frame):
def __init__(self):
Frame.__init__(self)
#Vászon létrehozása, kép betöltése, megjelenitése
self.c = Canvas(self, width =1292, height =916, bg ='grey', bd =2, relief =SOLID)
PhotoImage (file ='alap.gif') #Ha nem adsz neki nevet, nem fogja megfogni szerintem.
self.item = self.c.create_image(640, 450, image=self.photo,activeimage= None)
self.c.grid(row =1, column =1, rowspan=6, padx= 0, pady= 5)
#A szines körök kezdőpoziciója, létrehozása
x1, y1,x2,y2 = 100, 100,150,50
x3, y3,x4, y4 = x1 ,y1,x2, y2+100
self.c.create_oval(x1, y1,x2,y2, fill ='red')
self.c.create_oval(x3, y3,x4, y4, fill ='blue')
#Az egér 'érzékelése'
self.c.bind("<Button-1>", self.mouseDown)
self.c.bind("<Button1-Motion>", self.mouseMove)
self.c.bind("<Button1-ButtonRelease>", self.mouseUp)
self.grid()
# Az egér események definiállása -
slyder81
tag
válasz
slyder81 #990 üzenetére
Itt a kód részlet(természetesen valami képet be kell rakni a kód mappájába,alap.gif helyett):
#-*- coding:Utf-8 -*-
from Tkinter import *
from random import randrange
import random
class Draw(Frame):
def __init__(self):
Frame.__init__(self)
#Vászon létrehozása, kép betöltése, megjelenitése
self.c = Canvas(self, width =1292, height =916, bg ='grey', bd =2, relief =SOLID)
self.photo = PhotoImage (file ='alap.gif')
self.item = self.c.create_image(640, 450, image=self.photo,activeimage= None)
self.c.grid(row =1, column =1, rowspan=6, padx= 0, pady= 5)
#A szines körök kezdőpoziciója, létrehozása
x1, y1,x2,y2 = 100, 100,150,50
x3, y3,x4, y4 = x1 ,y1,x2, y2+100
self.c.create_oval(x1, y1,x2,y2, fill ='red')
self.c.create_oval(x3, y3,x4, y4, fill ='blue')
#Az egér 'érzékelése'
self.c.bind("<Button-1>", self.mouseDown)
self.c.bind("<Button1-Motion>", self.mouseMove)
self.c.bind("<Button1-ButtonRelease>", self.mouseUp)
self.grid()
# Az egér események definiállása
def mouseDown(self, event):
self.currObject =None
self.x1, self.y1 = event.x, event.y
self.selObject = self.c.find_closest(self.x1, self.y1)
self.c.itemconfig(self.selObject,width =3)
self.c.lift(self.selObject)
def mouseMove(self,event):
x2,y2 =event.x, event.y
dx, dy =x2 -self.x1, y2 -self.y1
if self.selObject:
self.c.move(self.selObject, dx, dy)
self.x1, self.y1 =x2, y2
def mouseUp(self, event):
if self.selObject:
self.c.itemconfig(self.selObject,width =1)
self.selObject =None
if __name__ =='__main__':
Draw().mainloop()
Új hozzászólás Aktív témák
Hirdetés
- GAMER PC : RYZEN 5 4500 / 16GB DDR4 / ASUS RX 480 8GB / WiFi / Bluetooth / 512GB M.2 SSD / 500GB HDD
- Dell Latitude 7390, 13,3" FHD IPS , I5-7300U CPU, 16GB DDR4, 512GB SSD, WIN 11, ( olvasd végig )
- Acer PREDATOR HELIOS NEO 16 / i9-14900HX / RTX 4070 (140W) / 1 TB SSD / 240HZ
- Topping A70 Pro fejhallgató erősítő
- Topping D70 Pro Octo DAC
- DELL PowerEdge R730xd 12LFF+2SFF rack szerver - 2xE5-2680v3,64GB RAM,4x1GbE,H730 RAID v ZFS
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- SanDisk Extreme Portable 8TB (SDSSDE61-8T00-G25)
- Csere-Beszámítás! AMD Ryzen 7 7700X Processzor!
- Microsoft Surface Book 3 - 15 col, i7, 32GB, GTX1660Ti
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged