• 1400/01/27

درباره on_touch_down و on_touch_move :

سلام استاد خسته نباشید 

من تا جلسه 17 امده ام ولی on_touch_down  فقط با right click  کار می کنه و  با left click  کار نمیکنه و  touch_move  خم که اصلا کار نمیکنه کمک کنید لطفا

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.core.window import Window
from kivy.graphics import Ellipse, Color, Line

Window.clearcolor = (47/255, 72/255, 125/255, 1)


class PaintWindow(Widget):
    def on_touch_down(self, touch):
        s = 30
        self.canvas.add(Color(rgb=(184/255, 154/255, 200/255)))
        self.canvas.add(Ellipse(pos=(touch.x - s/2, touch.y - s/2), size=(s, s)))
        touch.ud["line"] = Line(points=(touch.x, touch.y))
        self.canvas.add(touch.ud)

    def on_touch_move(self, touch):
        touch.ud["line"].points += Line(points=(touch.x, touch.y))


class PaintApp(App):
    def bulid(self):
        return PaintWindow()
  • 1400/01/28
  • ساعت 21:41

سلام دوست عزیز. اول یه عذر خواهی بابت تاخیر جوابگوییم میکنم. متاسفانه شدیدا درگیرم و سعی میکنم زودتر جواب بدم. بعدم اینکه کیوی وقتی توی ویندوز ران میشه، touch رو همون چپ کلیک در نظر میگیره. واسه استفاده از راست کلیک راه های دیگه ای وجود داره که درباره ش حرف میزنیم. در ضمن کد مربوط به on_touch_move رو اشتباه نوشتید.

شما مقادیر points رو برابر یک Line قرار دادید. درواقع باید به صورت زیر باشه متدتون: 

def on_touch_move(self, touch):

touch.ud[‘line’].points += [touch.x , touch.y]

اینجور مشکلات رو با بررسی فایل متنی ای که همراه ویدئو آپلود شده به سادگی میتونید پیدا کنید. ممنونم از همراهیتون🧡


logo-samandehi