GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • tkinter.scrolledtext --- ابزارک متن پیمایش‌شده
  • tkinter.ttk --- ابزارک‌های دارای پوسته‌ی Tk
  • گزارش یک اشکال
  • بهبود این صفحه
  • نمایش منبع
  • نمایش منبع ترجمه
  • اندیس
  • ماژول‌ها
  • Python
  • 3.15.2 documentation
  • کتابخانه‌ی استاندارد پایتون
  • رابط‌های کاربری گرافیکی با Tk
  • tkinter.dnd --- پشتیبانی از کشیدن و رها کردن

This view

  • Original page
  • New address

GeezerVison is showing python.github.io — tkinter.dnd --- پشتیبانی از کشیدن و رها کردن

tkinter.dnd --- پشتیبانی از کشیدن و رها کردن¶

کد منبع: Lib/tkinter/dnd.py


نکته

این آزمایشی است و قرار است زمانی که با Tk DND جایگزین شود، منسوخ شود.

ماژول tkinter.dnd پشتیبانی از کشیدن و رها کردن اشیاء درون یک برنامه واحد، درون همان پنجره یا بین پنجره‌ها را فراهم می‌کند. برای فعال کردن امکان کشیدن یک شیء، باید برای آن یک پیوند رویداد ایجاد کنید که فرآیند کشیدن و رها کردن را آغاز می‌کند. معمولاً یک رویداد ButtonPress را به یک تابع کال‌بک که خودتان می‌نویسید مقید میکنید (به اتصال‌ها و رویدادها مراجعه کنید). این تابع باید dnd_start() را فراخوانی کند، که در آن source شیءای است که باید کشیده شود، و event رویدادی است که این فراخوانی را ایجاد کرده است (آرگومان تابع کال‌بک شما).

انتخاب یک شیء هدف به صورت زیر انجام می‌شود:

  1. جستجوی بالا به پایین در ناحیه‌ی زیر ماوس برای یک ابزارک هدف :

    • ابزارک هدف باید یک ویژگی dnd_accept فراخوانی‌پذیر داشته باشد؛

    • اگر dnd_accept وجود نداشته باشد یا None را برگرداند، جستجو به ابزارک والد منتقل می‌شود؛

    • اگر هیچ ابزارک هدفی یافت نشود، شیء هدف None خواهد بود.

  2. فراخوانی <old_target>.dnd_leave(source, event).

  3. فراخوانی <new_target>.dnd_enter(source, event).

  4. فراخوانی <target>.dnd_commit(source, event) برای آگاه‌سازی از رها شدن.

  5. برای اعلام پایان عملیات کشیدن و رها کردن، <source>.dnd_end(target, event) را فراخوانی کنید.

class tkinter.dnd.DndHandler(source, event)¶

کلاس DndHandler رویدادهای کشیدن و رها کردن را با پیگیری رویدادهای Motion و ButtonRelease روی ریشه‌ی ابزارک رویداد مدیریت می‌کند.

cancel(event=None)¶

فرآیند کشیدن و رها کردن را لغو کنید.

finish(event, commit=0)¶

توابع پایانِ کشیدن و رها کردن را اجرا کنید.

on_motion(event)¶

در حین کشیدن، ناحیه زیر ماوس را برای اشیاء هدف بررسی کنید.

on_release(event)¶

هنگامی که الگوی رها کردن فعال می‌شود، سیگنال پایان کشیدن را ارسال کنید.

tkinter.dnd.dnd_start(source, event)¶

تابع کارخانه‌ای برای فرآیند کشیدن و رها کردن. نمونه‌ی DndHandler را که عملیات کشیدن را مدیریت می‌کند برمی‌گرداند، یا اگر امکان آغاز عملیات کشیدن وجود نداشت، None برمی‌گرداند.

همچنین ببینید

اتصال‌ها و رویدادها

© حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرم‌افزار پایتون نسخه ۲ منتشر شده است.
مثال‌ها، دستورالعمل‌ها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شده‌اند.
برای اطلاعات بیشتر به تاریخچه و مجوز مراجعه کنید.

بنیاد نرم‌افزار پایتون یک شرکت غیرانتفاعی است. لطفاً کمک مالی کنید.

آخرین به‌روزرسانی در نوامبر 12, 2026 (06:19 UTC). آیا اشکالی یافتید؟
ساخته شده با Sphinx 9.1.0.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.